I have been wondering how much content you should typically allow a CMS to manage, in particular reference to user-generated content. I am thinking specifically of Sitecore, since I have an upcoming project that will be written with it, but this could apply to any CMS really.
Say you had a typical e-commerce site, with products for sale, and users could leave reviews for these products and also purchase the products which creates orders within the site.
I get the impression whilst looking at Sitecore documentation and around on the net that you could use Sitecore to manage every piece of content. i.e. Each product is its own item in Sitecore, but then every time a user submits a review it creates a Review item under that product. When a user makes a purchase it creates an Order item else in the content tree.
To me this sounded fairly horrendous at first. I would have just thought you would use a CMS for editor-drive content. I could understand having products as items if you must, but everything else I would put in a separte RDb which is tied to Sitecore via a product id. It's more work but surely if everything was placed within Sitecore you could have giant performance issues?
On the other hand, if it was all placed within your CMS you wouldn't have to have an additional data-layer, and you could probably make great use of the built-in caching of your CMS. It would be much easier to allow your editors to approve/disapprove reviews, since they could just manage it all through the Sitecore admin instead of you having to create a custom page for it.
Have you worked on sites that have always done it one way, or have you tried both? How successful did you find them?