In regards to memory fragmentation, you probably think of GC with compaction. Not all GCs are like that, but that is a plus for GCs if use the heap a lot and need cache friendliness.
There is no such a thing as incompetence, just people in the wrong position without the proper guidance. (I'm an engineering manager, I would get the blame for such situations, not my employees.)