Melt the butter over medium low heat. You don't want to burn the butter by cooking too fast, but you don't want to wait forever either.
Stir in the flour and cook a minute or two. The flour and butter quickly become this "thing" that has a life of its own. It moves as one. If you're in a hurry you can skip this minute or two of cooking but I find it adds some good flavor.
Stir in the milk. The easiest way is actually to microwave the milk during the minute or two you're cooking the roux, the flour and butter. But it's not strictly necessary. Just add a bit of milk at a time and stir to incorporate it into the flour and butter before adding more. I don't mean like a drop or two at a time, but maybe 1/4 cup or so in the beginning, then another 1/4 cup, then the rest in one fell swoop.
Bring to a simmer. You can turn up the heat if need be and you're impatient. Watch it though as the milk will burn at a high heat. This should just take a few minutes. Cook a minute or two at a simmer, stirring. It will thicken up nicely. This is your basic white sauce. You're done.
For cheese sauce, turn off the heat and add in a cup of grated Cheddar (or 1/2 Cheddar and 1/2 Swiss or something similar depending on what flavor you want and what cheese you have around) and stir until melted through.