Out of the many template engines out there, vBulletin is about the only I know that stores them in the database.
It's certainly not the only way, and I view storing them on the server is a fine method. The engine I use often for non-vBulletin development is
Smarty. Either that, or I create my own-- although my versions lack an adequate caching method.
I would have preferred it more if the vBulletin templates were files, so I could access them in a separate file editor, and not through the admin cp. (like PhpBB) There are also some other inconvienances to having them in the DB.