An MBA, as you've said, is a "general" degree -- you can use an MBA to take your career in pretty much any direction you want to go in. Most people going into an MBA at least have a few years of work experience under their belt. The advantage there is that everyone brings their experiences to the classroom experience, and you learn as much (if not more) from your peers as you do from your professors.
A Masters in Finance is a
much more specific degree. With an MFin, you're basically saying your short term (and ideally long term) career goal is to be in finance. Most people in MFin programs -- especially top programs like MIT and Princeton -- are right out of college or maybe 1 or 2 years out. Most tend to be international (non-US) students as well. The curriculum teaches you everything you'd ever want to know about finance and the jobs you'll be recruited for will only be in those areas.
The only way I can think of where someone would get both degrees is if you got an MFin straight out of school, worked in finance for a few years, and realized you wanted a career change. Then an MBA would be a degree you could use to change careers to something else. I guess you could also use the MBA to gain managerial skills, since an MFin does not teach you much of that.
I wouldn't say that an 2-year MBA is "better" than an MFin degree. People looking at each program tend to have very different goals and potentially very different backgrounds, nevermind the typical age groups of applicants. If you're considering both options, take a focused look at where you see your career headed. Do you want to be in finance and ONLY in finance? Or is finance an option you want to consider, but could you also see yourself doing strategy consulting or marketing? Those answers will lead you to different degrees.