As everybody says, "to run C# on Linux" or "to be cross-platform" or whatever.
The reason why I am interested in Mono -- and I haven't been convinced to touch it, yet -- is the possibility to take advantage of all the things that .Net has to offer that Java does not. Basically your question does come down to a Java vs. .Net comparison, and I'm not going to start running through a million points of comparison between them (in Google you'll find scores of comparisons of J2EE vs. ASP.NET, which is on part, and Java vs. C#, which is another).
But what is the big difference between .Net and Java? It has to do with the monolithic force behind .Net (Microsoft, and Novell is trying to translate that to other platforms) or the multi-vendor approach of Java. Just the process of choosing an App Server might be enough for some people to choose Mono.
What does one big monolithic vendor like Microsoft give you that Java seems to not have:
- Centralized documentation (was "Amazingly good documentation, all in one place" but several people have told me I'm wrong)
- No need to make individual platform choices (e.g., ASP.NET or ASP.NET, not servlets+JSP+JSTL?+Axis)
- Other stuff I am forgetting
And then there are the other massive differences: Java is a single language and Mono (I think) can run CLR-compiled code from a variety of languages.