That is exactly what I thought the first time I tried modifying Magento. Like you I thought it needlessly complex and that it must have been done that way to encourage the purchase of the Enterprise edition. However, after finding the documentation, and reading it, I realized that they have a perfectly good reason for their relatively complex framework.
The primary reason for the complex directory structure of the Magento framework is clearly laid out in the documentation. It is all about making the application robust. If certain files are damaged or missing then the system falls back to a default framework, and if that fails it falls back to a base framework set of files.
One of the benefits of the Magento framework is that a programmer that knows what he is doing can customize using a minimal set of custom files, This framework also allows for upgrades to be implemented with less chance of incompatibility with your customization, provided you follow the guidelines for the framework.
The problem comes in when people try to hack in changes without following the guidelines for the framework. Those hacks are what causes people problem. It is important that you use a programmer that is very familiar with the Magento framework and not someone who is merely familiar with PHP.
The bottom line is that you have got to learn and follow the Magento Framework to avoid unnecessary problems and issues. From my experience, most people can’t be bothered to do that and that is why they have issues with Magento.
For anyone interested you will find user and developer guides for Magento here: Magento Users Guide | Magento