I don't know how "accurate" this will be, but maybe my layman explanation will be more useful to you than someone's with a more complete grasp. EDIT: Seems Foot got here before me, I think I like his explaination better but I'll leave this here.
AFAIK there's two "kinds" of hardcodes:
1. Limits, such as the unit limit. Everything computer-wise ultimately comes down to binary code and the computer needs to know how much memory to allocate, for say which unit the game refers to. If you increase the number of units, you need more 0s and 1s, aka more expensive versions of those wonderful pieces of plastic and metal inside this whirring box I've got sitting here.
2. Changing features, such as suggested in this thread https://forums.totalwar.org/vb/showthread.php?t=109057. Things are only moddable if they are in a text file. By putting the number of option and what they do, in say the "what to do with prisoners", straight into the game, the game doesn't have to work out how to convert a text file into something on the screen, its easier to code and again uses less resources.
It comes down to making the game run efficiently, there's no sinister forces at work. So much for being brief, hope that helped.
Bookmarks