In short, it's because the lack of "autonomy, mastery and purpose" thing.
My latest opinion about it is that it's "money, time and knowledge". Perhaps it's the same concept, but I think mine is easier to grasp and quantify.
Most people (including me) are caught in a vicious loop where they earn too little money to buy their own time so they have to give their time to the employer. And during that time they get no valuable knowledge which could increase the amount of money they make so they can either buy their own time and earn more valuable knowledge or get to work on that knowledge-engancing stuff while employed.
Most people work dead end jobs who instead of enhancing their knowledge and value, actually destroy their technical skills. They're stuck maintaining large pieces of poorly written code, often by inexperienced young programmers, who in the meantime either quitted or were promoted to build the next crap which the dead-end-jobs people are gonna maintain. Their work involves very little development, instead they spend most of their time and energy de-coding crap, knowing how the specific piece of duct-taped software works (and the company's devops procedures) so that they can make minor changes fixing shit without breaking shit.
No money, no time, no knowledge. But it pays a daily bread so you gotta love it (Stockholm syndrome). And they hired you while noone else would (because youre skills are shit and they're keeping it this way).