I'm constantly amazed at the flame wars fought in the forums:
Rest vs Soap
XML vs Json
Java vs .net
Richard Bandler and John Grinder's books on NLP have a very refreshing approach to such subjects in respect to communications:
1) Communication is not about the content of what you say but about the response you elicit.
2) If something doesn't work - do something else
I think these principles are the same for programming:
1) It's not about using the correct approach it's about getting the correct result
2) If a framework, technology does not solve your problem - choose another one
For most of the above flame wars I can come up with several use cases for either option. This means a decision on a 'correct' approach can only be made in the context of a particular use-case.