Are these tools good enough to create applications that will be used
in different environments?
Not different environments. Monodroid costs 400 USD just for android apps. Monotouch 400 USD just for iOS apps. (And in the case of iOS you also need to buy an iOS developer license (another 100 USD per year). So both are very environment specific.
Can these tools replace the orgininal way of creating application? How different is it to create a application with Mono for Android compare to creating an application for Windows Mobile Phone?
No. They are primarily bindings. So, for example, in the case of monotouch you'll get iOS bindings for say Core API's. Instead of use NSString you'll use "c#" string. And so on.
So, they are not the same as creating directly a windows phone app (different platform and different API) what miguel and its team does is create a shareable .NET base between all of them, so you can reutilize your existing code.
Well, I think it is. Mono isn't recent, nor mono touch or droid. Plus, they're now not a Novell division but an entire company (Xamarin). So I don't see why not can be trustable. We have use its tools since a few years and are great.
I'll advice you that if you want to start fresh with a platform, just use its API's directly. If you're doing android development, use Java and Android's SDK. both for iOS. Why? Well, isn't the same thing. When you're working with bindings you are relegated until those bindings are fully implemented. For example, if new iOS 5 SDK exposes 4000 new APIS (as frequently happens) you need to wait until there respective bindings are implemented (by Xamarin team). I see that as inventing and reinventing.
¿Why does this tools exists?
I think that basically for legacy support. At least that's the reason we (as a company) uses them. We have clients with large code bases that we can't implement again (.NET code base), so with monotouch we can port pretty much of it.
Sure, they're great for other things but thats my opinion.