Me is shorthand for "the Form or Report that holds the code context in which this code is running." So if you went through the Database.Forms("name") syntax, you would always be able to avoid the use of Me. BUT if you are like me, often cutting and pasting common routines into new applications from text files, you can build them with Me rather than the long name and they work just as well.
(FYI - if you ever read one of my comments about a "toolkit", the idea of having canned code snippets to include in new .MDB files is part of the toolkit concept - and a good idea to prevent you from having to re-invent too many wheels. But that is a side issue...)
Another valuable use: Me can be an argument to a public function designed in a general module. If that argument would be a form or report, it saves scads of typing.
As Pat points out, Me is never a table, macro, or query - because none of those things has a code context in which Me could exist.