Wladimir Palant, lead developer of the very popular Adblock Plus add-on has a couple of interesting posts up in his blog.
In his first article, Why you should make your next add-on restartless, he weighs the pros and cons of creating a restartless (non-SDK) add-on.
For me, the advantages clearly outweigh the disadvantages. If you already have a classic extension then you may wait with converting it until you actually have time for that. But if you are planning a new extension then you certainly should make it restartless.
In Modularization in a restartless extension he goes more in depth and shows you how to implement a module loader.
A simple restartless extension can probably keep all its code in the
bootstrap.jsfile. However, it gets crowded there very soon. Plus there is some code that is really only boilerplate and should probably kept separate from your actual code.
I recommend you give them both a read. Boostrapped extensions are still challenging to create, specially due to the limited documentation we have on them. However, once you get the basics going, the payoff is really big.