Everyone has their favorites and swear by them. Personally, I don't like Hoppes and think other products work better. Also, be aware that some of Hoppes products should not be used on nickle or chrome finishes. I have no experience with the M-Pro products, so no comment.
I tried a lot and I personally like "ClenzOil: Field and Range". It is a all-in-one CLP product (clean, lube and protect) that I find to work very well. The odor of the product is not overpowering either, it is almost a pine scent (they also sell a "dirt" sent for hunters who want to mask any gun oil smells). You can use it on any surface without worry, be it any firearm finish, wood, polymer, plastics, rubber and even leather. I really like the way it cleans all my revolvers, shotguns and pistol.
http://www.clenzoil.com/field__range.aspx
(There's that thing I said about "Everyone has their favorites and swear by them"... lol)