HTTP was designed for a specific use case: communication between a browser and a server. The same is true for JSON. Is also often a good idea to use HTTP ports for things like mobile apps because a significant number of people need to use them from networks that block other ports (e.g. when using corporate wi-fi). The problem is that HTTP and websockets are used inappropriately.
Technical debt tends to be talked about, and worried about, more by developers than by those running a business or looking after its finance. The problem is that not taking it into account will lead to bad decisions.
Most people (out side the industry anyway) assume that web sites should look good, and an easthetically good website will produce better results than an ugly one. This is not true, and many of the things that make a website look good will tend to make it worse for users.
SaaS (software as a service) is extremely popular right now, and it can solve a lot of problems. It means someone else takes responsibility for maintenance and security. Of course nothing is ever that easy a win.
So, what are the problems? Our experience is that there are three, two of which are closely linked: