That's a deep subject.
I've personally put years into SolidEdge, Inventor, and Creo (Pro/E). My company is currently moving from Creo to Inventor and I'm using both most days. So far, I'm finding Inventor to be clunky and geometric relationships fail very easily when dimensions are modified. When I'm frustrated I call Inventor "pseudo-parametric" because it lets you create things it has no intention of regenerating correctly later. Also, I find that Inventor drawings are extremely fragile and I'm redrafting entire views for something as simple as changing the overall length of the model.
Creo is pretty good but last I checked their PDM was a poor performer. Also Creo used to be cleanly parametric, where everything was regenerated in sequence and predictable because of that. Then a few years ago they decided to allow two-way assembly features (cuts made in an assembly that appear within parts) and it's had a lot of negative effects on predictable regeneration. Said another way, that "feature" broke existing models and they refuse to admit that it is a bug. I have several hundred broken assembly drawings that would argue otherwise.
I spent a little time with Solidworks and it appears that adequate functionality, but mostly they are popular because they provided everything they could for $5000. Then they just kept adding capability to that package without raising the price. They also designed it to make new users creating content as soon as possible. Users think they know it when they feel comfortable making new stuff. Which is OK I guess if you must build your models from scratch always, but horrible if you want to borrow existing models and drawings to quickly make a variation of the design. Solidworks (and its entry-level rivals SolidEdge and Inventor) spend a lot of effort to allow a user to make data quickly - but they don't seem to mention how easily a user is allowed to make junk, and how much work is involved when real-world modifications are made to the model. With Creo, and a decent body of existing work, we would spend 5 minutes searching for a relevant design to copy and 20 minutes updating it for my application. With Inventor I spend an hour making it from scratch or an hour trying to copy, modify dimensions, repair, and redraft an existing model. I worry that happy Inventor/Solidworks/SolidEdge users simply don't know that it can be better.
I'm sure there are tricks to make my Inventor models and drawings more robust, my disappointment is that I have to work so hard to make models and drawings that don't fall apart. IT'S PARAMETRIC DESIGN SOFTWARE THIS SHOULDN'T BE OPTIONAL!!
So really all of them are dumbing down to gather customers from the Solidworks crowd nowadays and removing the commmon-sense rules that help ensure re-usable, fully parametric data. The training is the same way - you can take classes to learn how to make all of the content, but it takes blood, sweat, and lost hours to figure out how to make robust, trustworthy data.