Reliability of methods is the main problem in modern CS. Imagine one airline says "Dear passengers! If nothing goes wrong, you may survive" and the other says "You will survive even in case something goes wrong". Which one do you choose?
People in IT prefer the first one because they think they are top experts, because it is "modern", because it is sexy, because it is promoted by tool vendors, because it is good for CV...
I myself can successfully work with any obscure technology because of my experience and because of my ability to transform representations in my mind.
People I usually see in real projects are not on the same level. Additionally they are under stress and do not have time to think properly.
Young professionals were trained in universities to believe in "best practices" and "modern methods". They do not grow gradually but grab most "scientific" and most complex technologies in most confusing versions, apply them on the tasks that exceed their abilities, fail, and say that this methods do not work because they are not agile / not object-oriented / not functional / not applicable for their domain...
If something is not reliable against low qualifications and burning deadlines, it will certainly fail in a real project.