From what I understand, they prefer doctors spending their careers in the military. That being said, many leave after the 7 years because they make more money in the civilian world. If you do stay in for the full 20, there is a retirement based on rank. Hard to find one of those any more 🙂
Money - The easy way is to add the monthly pay based on rank with the BAH (basic housing allowance which depends on A- zipcode and B- whether or not you have kids) and BAS (basic allowance for subsistence). Keep in mind that the BAH and BAS are NOT taxed.
So... An O-1 makes $2877, if you live near bethesda and don't have kids, add $1875 BAH (If you have kids, BAH is $2,247), then add on BAS of $242.60 for a total income per month of $4994.60. There are additional bonuses here and there. Once you're in residency there's a bonus. After residency, then there's an additional bonus. If you get boarded, theres another monthly bonus added on.
But don't let all that confuse you. You would be going to medical school for free and getting paid $4,994.60 per month.