I don't understand why most web agencies tend to use WordPress as a catch-all for every project they work on. In short, WordPress is a CMS designed to manage blogs or blog-like web sites. WordPress was not designed to manage e-commerce sites, communities or even newsletter or file downloads. The more the task diverges from the original design, the more it's likely that your project will fail or, if you're lucky and patient, need continuous assistance for bug fixing, maintenance and plugin customization. You'll probably end up with a disappointed and angry client and a significant increase of your budget costs. You don't deserve this.
Let's speak honestly: we use WordPress because it's easy to set up, not because is the best tool we can use. We should use more robust frameworks, such as Zend, when the required tasks are actually complex. The point is that WordPress is a full-box where you can code only in the way WordPress allows you to do, not in the way you really want to.
We need more control over our actions so that when the sky falls down we're sure that it's only our fault and we can start finding a solution instead of testing and exhausting all the possible causes without having a clue.
Because when WordPress fails it's hard to track down the case zero where everything started. It might be a wrong rewrite rule, an incorrect permission, an SQL error or what? Further, we can find help only on forums, mailing lists, blogs or simply reading carefully the documentation. Are we sure that we'll find a good solution? No.
When you force WordPress to do something it was not designed for, you're actually raising the percentage of a possible failure of the whole CMS. And don't be tempted to rely on plugins to accomplish the tasks your site needs: plugins are not a good solution, because you don't actually know what your client will ask in the future. Is it possible to find the right plugin for every feature your client wants now, tomorrow, the next month and so on? How many plugins will you have to install? And how WordPress will handle tons of plugins?
The point is simple: WordPress is designed to handle blogs. All other possible uses are actually an unknown scenario.