Gammon's right- I use a big Igloo "5 day cooler" and made a new, better insulated lid for it. (pictures are in my gallery). I add water to it to keep the temperature stable, float a thermometer in that water, and then add frozen plastic water bottles to it until I get the temperature I want. I just change out the water bottles every day or two in the summer. In the winter, I lager with it and change the water bottles only every 3-4 days.
It's not perfect, but it really does keep the temperatures stable and much cooler than not using one.
Same principle on a budget: I keep my pitched primary on the kitchen counter next to the sink and watch the temp. Once the temp gets to 70°F (~21C?) I plug the sink drain, set the primary in the sink, run in lots of cold water, and then add ice as needed to keep my ferment in range for my ales.
Uncontrolled temp, my ales used to drop krausen on day two or three. No idea how hot they were getting, the thermometer on my fermenter only goes up to 80°F (~26C?).
Since I started using the sink/ water/ ice method, I don't get krausen drop until day four to day six. I have been able to mostly keep the fermenter in a range of about 4°F, say 62-66°F (16.7 - 18.8C?). That is with keeping my day job, and sleeping through the night, so really just checking twice or three times daily.
Having a kitchen sink tied up for five days can be a bother, but the beer flavor is DRAMATICALLY improved, much cleaner, more like beer and less like fruity kid stuff. I am confident I will someday have a more sophisticated fermenter temp controller, but I don't expect to make beer without a controlled ferment temp anytime soon.
Fuzzy on °F to °c, but when I put in 98.6 I get 37 and v/v so I am probably close.