Basically, if you're going to develop an app for different platforms (iPhone, Android, Windows desktop, etc), you usually have to have some/all of your code be specific to that platform. In some cases it may even have to be in different programming languages.
Xamarin is an attempt to let developers write code in one language (Microsoft's C# language), with one common set of code that can then be installed on many different platforms.
In reality, it's a little more complicated than that... but that's the goal.
Has this as a rental car a few years ago... guess which knob I kept reaching for to turn down the volume...