Firstly I should say that I don't like how the layout is build. It is not possible to say that it is build in a poor way, but it is possible to see the different styles (mostly it is expected for the open source sofware). Most of the things are build in SEO friendly way and it is very good, but in the same time I see the tables (when it is not required) and some strange code (when it can be much more short). If the strange code can be explained by the software structure, the tables are the example of the bad code and style. So, generally, I should admit that the software layout is very good for the open source.
The structure of the software is very clear and understandable. It won't be a problem to show how the classes are executing and how to write a module. In the same case a lot of the documentations are available. You can compare this with another open source project: Magento. The only one thing is missed, the ability to redesign the classes tree like in Litecommerce software. For some of the projects it can be a great advantage. But in the same time I don't see a problem to write the similar function in “JLoader” class, so it can be added if required.
Some problems can be met with the template engine, it is self written. But again it won't be a problem to find the way it works. There is another problem with the template engine, the templates are not fully dedicated in the separate files.
In conclusion, the Joomla is great software for the development. It has got the pretty easy structure and it should be easy to customize it.