eg. to run unreal tournament 2004 server, the game server must have the unreal tournament 2004 exe (ie. binaries) to run.
How come they will not permit us to run our own applications?
the main reason: Running Unreal is *much* more processor and memory intensive than 'just' serving a small website. On a shared hosting server an ISP can easily host hundreds of medium-sized websites at the same time, but once unreal is running you can't do a whole lot else at the same time. That means that the provider can't sell the same server to nearly as many customers as they do for 'normal' webhosting before it simply gets too slow to function.
so... normal website = able to sell the same server to more customers = lower cost = more profit.
If you want to run an unreal gameserver I'm sure you can find plenty of places willing to help you out, but you should definitely expect to pay significantly more than if you were hosting a typical website.
Another reason most webhosts won't allow you to run your own .exe's is that they are a whole lot more likely to cause problems than restricting customers to normal php/asp/html/etc. A single .exe can potentially freeze the entire server, and the provider has no control over what you would run. You taking down a server means that other customers on the same server also go down at the same time, which is not something they'd want to happen. (After all, those others pay money too to make sure their sites are up). so, prevent damage to other customers, most providers would only allow .exe's on dedicated servers.
Dedicated server packages are significantly more expensive than a normal shared hosting plan, since you have to pay for the server hardware and such all by yourself instead of sharing it with a few hundred other customers.