They tell you 3 hours because they want you to arrive early so there are no problems and security can sometimes get backed up. That said, it never gets backed up so much that anywhere close to 3 hours is necessary. Even 2 hours is generous imho, and with TSA pre, you're going to sail right through.
The other reason is that the airlines make money off whatever you buy in the terminal. The earlier you arrive, the more money they make.