Do you know what employees doing two jobs really is? Either savvy optimization of time or outright management failure.
If you "get away with it", either:
1) your manager is not tracking and managing your time/productivity properly, or,
2) you're actually fit for purpose, the company is happy with your output, it meets expectations for what they pay and things are totally normal.
Nobody is obliging these companies to employ these people.
Programmers working agile should have a throughput denominated in story points and managers should come to an understanding of their bandwidth over a little time. They can then reason about whether they're working on par or not. The reality is that you have a lot of managers not being effective, who enable all these cheats as well as a legion of just regularly mediocre people to skate on by, bill 8 hours, do very little and go home.
Big companies continue to make so much profit that employing such people (shitty managers and programmers) is not really a big deal regardless.