Let me first point out that I don’t like MonoDevelop; a lot of mono based projects and products like Unity still rely on the old 2.8.X version of mono which isn’t the best IDE. I have almost no experience with 3.X but from what i have heard it has become a decent IDE.
However, it is still a solid and good alternative. What is even better, is that it keeps it’s format as close as possible to Visual Studio so any project that you start in MonoDevelop can be opened and worked on in Visual Studio. I am a .NET programmer who find’s himself using a Mac from time to time. What is great is that I can run my projects on a Mac too! For instance, I can build an ASPX application on my Mac!
Mono is a .NET assembly parser; in other words, it replaces the .NET components with ones that can run on other platforms. My understanding is that it in itself is a compiler as well (correct me if I am wrong)
There are limitations to this. Mono is not a Microsoft project. Some say it is slow, some say it has a lot of bugs. In my experience it has not presented me with any issues. From what I understand it has become reliable enough that products like Unity use it to compile game scripts.
Anyways, head over to MonoDevelop and check it out!
Side Note: One reason why the Mono project is so popular is because it lets you port your applications to devices that .NET is not available without making huge changes to your code. For instance MonoGame allows you to port your game to almost any phone/platform out there!