GAP is only needed when your vehicle is worth less than you owe on it. Generally that means a brand-new vehicle that depreciates the second you drive it off the lot. There's obviously exceptions to that if you, for instance, put a big down payment on the car. Otherwise if you total a car that you owe $25,000 on but it's only valued at $20,000, insurance will only pay you the $20,000 and you still have a $5,000 loan to pay off and still no car.
GAP will cover that difference, but be sure to read the fine print as it will have a max. payout as well - like 25% of the actual value, so in the example above it would cover that extra $5,000. Once you pay the car down a bit you can usually give up the GAP insurance since you'll owe less than what it's valued at. Definitely get it through your insurance carrier rather than the stealership. I payed something like $12/month for GAP through my insurance company.