Unity is a fantastic tech for its proper use case. As a Unity dev, I have a lot of grievances against them — but the problems you're describing come not from the tech, but from completely inexperienced developers for whom their Unity projects are first software projects ever. For better or for worse, the whole Unity dev culture is centered on amateurs: on one hand, it leads to a lot of game designers and artists starting to write code for the first time in their life, but on another, it leads to horrible architecture and complete disregard for good development practices. Unity asset store, for example, is full of awfully written code, bit it doesn't stop heaps of developers around the world from using it in their projects and create amazing stories and visual experiences woth it.
In other words, sometimes worse is truly better.