Lamps can heat unevenly, it's really hard to regulate the temperature without a heater, and bettas can be sensitive to temperature fluctuations. .
Adjustable/programmable heaters are really nice, but they are more expensive. The Hydor Mini Heater is decent for a 2-5 gallon, and is pretty cheap. It just raises the temperature by a few degrees, so if your room temp changes or is on the chilly side, this isn't a great option.
I have a Tetra Whisper for 2-15 gallon tanks in my 2.5 minibow, and it keeps my water temperature at an even 78...the only problem is, if I need to raise the temperature to deal with illness/parasites, it won't get any higher than 78.
With any heater, make sure you have a thermometer (they're super cheap, like two or three dollars) so you know the heater is working properly.