Choose the right CMS.
Don’t decide what CMS platform you’re going to use before you’ve got the brief.
Forcing a complex site into WordPress will cause more problems than it’s worth. Using something like Magento can be overkill for an e-commerce site selling just a handful of products.
Get your site requirements down on paper, then see what fits best. I tend to stick to WordPress for standard blogs, ExpressionEngine for more complex blogs through to large dynamic multi-lingual site, and a bespoke CMS system for small dynamic sites which only require content like News and Events to be updated.
These are obviously just my opinions, it’s up to you what works best for your situation, your knowledge and your preferences. Just don’t crowbar your preferred CMS into something that it won’t fit. Round peg, square holes and all that.