Beware, VPS is not mandatory if you have enough capacity on your PC for running a MN.
No it's not necessary but you need to have a static IP what most of the normal users don't have.
This might change in the future ..
Yep, the majority of ISP (at least here in the USA) don't offer a static IP address. When they do offer it they charge more money for it too, so hosting a MN on a VPS is the best option for allot of folks.
Hosting a MN on a VPS would cost you more than you'd get back. Unless you were running lots of master nodes or already had a static address/VPS it doesn't seem worth the investment.