I have a 2001 Honda Accord LX. One day I was driving and I noticed that the dial on the temperature gauge was high, toward H (for HOT). When I would idle, the car would heat up. I knew it was not good to keep the car running while hot so this was a big pain for me. I checked the thermostat, it tested okay but still replaced it. I replaced the radiator cap, upper hose, and did a coolant flush in case of an obstruction. All the first things or suggestions that troubleshooting guides said to check first did not work.
Finally, I checked the Coolant Reservoir under the hood. It is a beige plastic reservoir (NOT the radiator and the metal radiator cap, which can be dangerous to open when hot and under pressure).
The cap to the plastic coolant reservoir has a nipple and that nipple connects to a ***short segment of rubber or plastic hose.*** IF that segment of hose disconnects from the cap, it will drop down into the reservoir, and it will not perform its normal function. I assume that mine dropped after became loose during a top-off of coolant. Check the cap and if there is no hose connected to the cap, it's likely sitting in the bottom of the reservoir, it can't go elsewhere. Remove that hose with chopsticks or tongs, then reconnect to the cap. Doing this simple 1 minute correction fixed my overheating problems. I'm sharing this in case it saves someone some of the grief I endured.