This is one of the rare occasions, where I would disagree with Jeff here. For us namespaces are one of the best things in appengine. Obviously, this is just an abstraction and can be achieved manually. But having this implemented is a big timesaver and also is an important safety feature. We have implemented a CRM for small and medium businesses and, it helps to be able to isolate business data by namespace. The same way as DataStore by its design pushes developers to write scalable applications, namespaces help to enforce proper sandboxing of business data.
Obviously, it might not be the right tool for many other problems, but for us it works very well. I even wish, there was a namespace support for BigQuery and other services.
Anyway, It's there, you can use it or leave. Having choice is great. But again, it would probably not be the right solution for most of the projects, so only use them if you understand the implications.
As for migration, Jeff, thanks for gist. That was very useful