I can't speak for "best practice" etc, but here at Stack Exchange we use a different db (via select) for each different *site*. This gives us a simpler management metaphor than having a different **server** per site, but the data is actually isolated. Another scenario would be similar to when using a different DB in a RDBMS : when the data simply doesn't relate.
In particular, in this scenario we want to retain the ability to excise or relocate all data from one system (a db), without having to do a "KEYS" operation. Having a site-related prefix for that a: wouldn't make that possible (or efficient), and b: would make all the keys bigger.