The US doesn't fly rockets over land due to population - I'm sure this is probably law, but I don't know specifically. It's also easier to clear launch zones in water vs land, as vessels have maritime transponders (not sure of law or terminology here). Your last point is probably the most important - being close to cities but far enough away to not bother folks is the dance.