Although Xamarin has been around for a while now, there were cross platform mobile projects where I did not recommend its use. These were generally projects that had a large number of screens. In such cases the process of creating multiple versions of every screen could make the project too difficult and time consuming to write. In these cases I might recommend going with PhoneGap if the shop has web development experience. Now that Xamarin Forms has released (at the end of May), all of the UI can go into a common layer, written in a single paradigm. This allows the vast majority of the assets to be reused across platforms. Of course it still doesn’t mean that *all* of the code will go into a common layer, just that *most* of it will.
One a personal note it is interesting that the Xamarin Forms release happened while we were in the middle of the mobile development track for the San Diego TIG. It is changing the industry, and it also changed our track. We removed the PhoneGap meeting from the end of the track after a brief discussion of the technology.
[Update: (September) One thing I have noticed since I started using Xamarin regularly is the flakiness of the product. When you pay this much for a product you expect a higher level of quality. The start debugging, then restart debugging, then stop the simulator and restart debugging again is getting old]