But most of the time they aren't omitted, they are just implemented half-assed ... which costs more time than just doing it right. Just do it right once, copy paste it every project and buy a large whip to flay every junior who hard codes a key, problem solved.
You're missing my point, it isn't engineering that's the issue. Towards the end of a project to look at what's left and start cutting.
What happens is rather than cutting features, you end up cutting part of a lot of features they all end up compromised and the overall quality of the product suffers. Features get costed in man hours and people tray and shave everywhere they can.
What good game teams do is they cut major features as a whole, they realize that cutting 10 % of many features is much more harmful to the final product.
The problem is it's hard to do, because every major feature in a game is someone who matters sacred cow.
In one game I had production insist on adding a feature because it was "cool", I told them would take a month to do properly, rather than cutting some thing else to accommodate, cutting the time in the schedule to a week, then it taking 3 weeks to try and clean up the half asses implementation, cutting it at the last minute.
This type of development is unfortunately common, and it's because people are emotionally invested, good games are made when the people making decisions make good decisions early enough.
PC ports are a bit different the bulk of them are work for hire, usually on tight schedules and usually not paying very well.