In the US, carriers offer phones if you sign up for a 2-year contract at a heavily subsidized price. The $649 is the price of the phone without that subsidy (retail price). The subsidy also means these phones are carrier-locked, or bound to one carrier. You can sometimes get the carrier to unlock these or hack it, but don't count on this.
Citizenship isn't so much a qualifier as having a US credit history and billing address. Presumably the carrier is on the hook to subsidize your hardware so they try hard to ensure you will honor your contract to maintain a stream of payments to them (or they can be fairly certain to collect the early termination fee). Having a US credit card (or cash) as well as having a Social Security or equivalent tracking number so the carriers can run a credit check against their US database of buyers increases your likelihood for being approved for a subsidized phone. If the carriers can't get a good credit check, you may be forced to pay the unlocked prices or buy on the grey market or a used handset.