That is SO not true. I've traded in several cars and have NEVER paid sticker price (or anything close to sticker) on the car I was buying. Even when it had to be specially ordered.
Here's how to trade in a car and get the maximum return.
1. Figure out what your car is worth as a trade-in. Go to KBB and Edmunds and do not be optimistic about its condition. Very few used cars are truly going to be in "excellent" condition. Getting a written offer from Carmax is a really good idea.
2. Find out the going price for the car you want to buy. Edmunds is good for this.
3. Figure out the difference between what you want for your trade, and what you want to pay for the new car (the "trade difference"). For example, say I decide I should be able to get the new car I want for $25,000, and I decide my trade should be worth $10,000. That means the trade difference is $15,000. Keep that in your mind; it is an important number that will keep you on track.
4. Visit the car dealership, do the test drive. When they ask if you'll be trading your old car, tell them you haven't decided yet. Refuse to discuss it until you've negotiated a price on the new car. Do not let them negotiate in terms of monthly payments - tell them you want their lowest out the door price, in writing.
5. Once you've settled on a price for the new car, let them look at your trade. Tell them your decision to trade or sell the car on your own depends on their offer, and that you need a trade difference of $15,000. They can give you less for the trade, or charge you less for the new car, it doesn't matter to you, as long as the trade difference is no more than $15,000. And if you've got that written offer from Carmax in your pocket, you can use it as a bargaining chip as well. "If you won't give me at least this much, there's no reason for me to trade it. I'll go down the street and sell it to Carmax."