The theories of everything

When you try to be all things to all people, you end up being nothing
(common saying  popularized by Robin Sharma)

I have recently finished watching The Theory of Everything. If you are interested in the borders of science, it is a must see. As Hawking admits, cosmology was thought of as a pseudoscience given that wild speculation was unconstrained due to the lack observations.

More examples of the difficult birth of a new science: the government of the Soviet Union declared that Mendelian genetics or plate tectonics (continental drift) were pseudo-science. Artificial intelligence has been considered as hype and junk science by many. Dijkstra considered software engineering to be a pseudoscience.

On the other hand, there are disciplines that were abandoned. For example, I have been taught elements of NLP - a debunked psycologic theory - many times on prestigious management courses. Why? Because although NLP is pseudoscience it brings under a single unique umbrella a host of useful good interpersonal and conversational techniques. Also, modern city planning has been called pseudoscience by Jane Jacobs and others.

What are the borders between mainstream science, fringe science, junk science, heuristics, useful pseudoscience, science fiction and fraud?