Example scenario:
$ grep ^class app/code/local/MyApp/MadCaseExample/Block/CaseMaker/BlockThing.php
class MyApp_MadCaseExample_Block_CaseMaker_BlockThing extends MyApp_MadCaseExample_Block_Mce
$ grep -iF 'blockthing' app/design/frontend/myapp/default/layout/madcaseexample.xml
<block type="madcaseexample/casemaker_blockthing" name="madcaseexample.pages.blockthing" template="…"/>
The above won't work because Magento doesn't magically transform the xml names to the right case to find the classfile. An implicit lowercase convention seems to exist, so for a while we've been (I think cargo-culting) our classfiles this way:
app/code/local/MyApp/Madcaseexample/Block/Casemaker/Blockthing.php
Even though we really want to use camel case for most of our classnames. But would it really be so wrong to just be case-sensitive in the XML as well?
<block type="MadCaseExample/CaseMaker_BlockThing" …
What's the benefit of having to express the file and classnames two or three different ways?