I think that what your in-laws are saying in a round-about way is that car dealers have their level - some sell new cars, some nearly new, some not so new, and some sell old bangers. The chances are that what you are trading is lower down the pecking order, so they have to sell it at trade to get rid of it.
Now, people don't like to hear what their fine, well-looked-after trade-in is really worth, so they are suckered into believing that it is worth something much closer to what they think it is worth. Card dealers know this and knock this "extra" they are paying for the trade in off the discount they would have given on a sale of their car for cash.
So, you are buying a car for £12,000, and the dealer would sell it for £10,000 after discount to a cash buyer, but you have a trade-in. It is a banger worth £500, but you think that it is worth £2,000. The dealer knows that if he tells you he'll only give you £500 for your car then you'll walk away and take your business elsewhere, soooo .......
The dealer sells you the car for £9,500 plus your old wreck, which he "values" (tells you it's worth) at £2,000, so you seem to have paid £11,500. The trader sells your old wreck for £500 (what it's really worth) in the trade, so he has realized a total of £10,000 cash from the two deals, which is what he would have accepted for a cash sale (i.e.no trade-in) in the first place.
That is the theory, I'm not certain that it is this simple in practice. I have often heard that you are likely to do better by selling a car that you already own, privately and then approaching a dealer as a cash buyer. Having said that I have heard the same thing here in the US.