I have a simple approach to determine the database that best fits the data.
I just ask myself:
Assuming I'd have no database, would I rather save the most and the important data as document or would I store them in a spreadsheet.
When the answer is "Spreadsheet", this is a clear sign that a relational model and a traditional RDBMS best suits the tasks most of the times. If the data are really simple, like only key value pairs or simple tables and referential integrity is not a topic, then a NoSQL database is probably best suited for the task and might boost performance quite a lot!
Also, when you cannot find a common structure at all, a NoSQL database is best suited for the task.
When the data are more document-like, e.g. hierarchically structured textual data without clear relations, then I immediatelly think of an XML-Database, which easily lets you store hierarchical structured documents. Sometimes it's best to use a document-management software, though.
So, in order to give a concrete and simple answer to both of your questions:
It depends on the data.
when a switch from relational- to document-database gave an improvement
When you need to persist hierarchically structured textual data, an Xml-Database can be a big improvement in terms of maintainability and probably also scalability.
when a switch from document- to
relational-database gave an
Well, for example when the data are mostly in table-like form with clear relations and you need to guarantee integrity.