Direct Marketers must have your name and prior address in order to receive your updated address. So they are providing updated PII to those who already had your prior PII. You can opt out.
The USPS makes only a few million from selling this data but saves over a billion dollars by avoiding the cost of forwarding mail sent to prior addresses.
The USPS is allowed to do this under an exception for it in the Privacy Act.