Explanation of the System and Mono Namespaces

As I've been checking around the forums and scripting reference I've noticed that in addition to Unity's API, there are also classes that come from namespaces (I believe this is what they're called; I'm used to calling them packages) starting with System and Mono.

I've heard Unity uses Mono, but what is the System (from Microsoft I believe) namespace doing here? What confuses me is Mono and System both have at least some classes in common. For example there's System.Data.SqlClient and Mono.Data.SqlClient, which both have the same classes. I don't really get this.

Basically, I want a bit of explanation on how these namespaces fit into Unity, because I'm still a bit confused.

http://www.go-mono.com/docs/ should help, basically it's the same as Microsoft's .Net Framework