Yea, here i'll explain
Primitives : think of these like shapes, some primitives given with JigLibX are Box, Sphere, Capsule, TriangleMesh, Plane
CollisionSkins : these are basically a collection of defined primitives. When you make a collision skin you put all the primitives you want inside it and then the entire collisionskin as as basically one collideable shape.
Bodies : these are physic simulated objects that use one CollisionSkin for calculating collisions.
So for example i have a pistol model, For the collision skin on it I use two boxes, one for the slide, and one for the grip. and then the body of the pistol uses this collision skin. this works good.
as far as performance I don't know if it benefits you to use a trianglemesh instead of two boxes. My instinctive thought is it would not ( as far as memory for sure, and probably optimization/speed )
You might want to take a look at this app http://jiglibsdx.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=32044 . Its a collisionSkin editor, where you can put a model in and place primitives around it. ultimately letting you export a c# function that would do what you did in the editor.
I've set up a file format for my project so i don't use this functionality. But i'll still use the app to place primitives and then move that data over to xml.