The short answer is, because the law says so (in some/most states). The longer answer is, because someone, somewhere feels that 21 is the minimum age for being able to properly handle a handgun...the same reason you have to be 21 in most states in order to drink alcohol.
A military compass is a compass that was issued to members of the military for them to use in the field. It isn't much different than a compass you can buy yourself.
Your best starting point will be a New Jersey firearms dealer. Check the Yellow Pages in your area under "Guns".
Handguns and long guns.
In the US, yes.
Under the US 1968 Gun Control Act, you must be 18 yrs old to purchase a rifle or shotgun from a dealer. You must be 21 to buy other firearms, such as handguns.
18 for rifles, 21 for handguns...
There is no federal law that says someone under 21 can't own a handgun. There is a federal law that says someone under 21 can't buy a handgun from a licensed dealer. Some states allow people under 21 to own handguns, and federal law allows people under 21 to possess handguns for certain lawful purposes, such as target shooting.
Long guns, yes. Handguns, no.
21 for handguns 18 for long guns
gun shop, gun show, pawn shop
18 for long guns, 21 for handguns.