Buffers are truly amazing - combined with powerful buffer naming patterns, it's a breeze switching between buffers blindly (included with autocomplete) and if you forget about which buffers are open it's a keystroke away to see an overview of the buffers open...
When you have 100 or more buffers open, you may have two files with the same name. Using uniquify (require 'uniquify) helps differentiate them. Instead of getting file<1> and file<2> you get file:"directory_1" and file:"directory_2".
Cool. How do you get to that state (of having lots of buffers open) without accidentally closing Vim? My Vim sessions don't last long because I always :q with a single window and its gone.
I use :Ack pretty aggressively, so it is quite rare that I don't have a little search window open. If I close my last buffer, then the quickfix window takes up the whole screen and I quickly use :FuzzyFinderTextMate to open the next file.
So the only time I accidentally :q the last buffer is when I close all files, override my search results, don't run a new search, then close the only file. Needless to say, that is pretty rare.