When it comes to complex web projects you simply can't help using Types. It extends WordPress features beyond its limits, allowing developers not only to add custom post types, taxonomies and fields buto also - most important, at least to me - relationships. It can handle both simple one-to-one or complex many-to-may relationships. Also, it integrates seamlessy with WPML.
The only downside is that the plug-in is not really well documented, so most of the time you have to work through trial and error till you find how to achieve your goal, especially if you don't know php that well... luckily they have excellent support, and if you have some issues just post your question to their support forum: in my case I waited less than an hour to get a reply - and the solution to my problem.