The names are a combination of an adjective and an animal name with the same first letter. The names are alphabetical, so after Natty Narwhal (11.04) comes Oneiric Ocelot (11.10). After that comes P.P, which is scheduled for release in April 2012, and will therefore get the version number 12.04.
Since it is possible that a release has to be delayed, it is possible that the version number will change. The Dapper Drake, for instance, was initially scheduled for April 2006, but it had to be delayed two months, so it became 6.06 instead. In that way, it's nice to have alphabetical code names. Since 12.04 hasn't been given a name yet, some people are referring to it as "The P-cycle". The Ubuntu Developer Summits are also named like that: UDS-P for instance, is where planning of 12.04 will take place.
Mark Shuttleworth comes up with these names.