With a "passive" device or speaker, you have to send it an AC "sound signal" and you can control the sound. The Arduino needs to generate the "tone". With enough hardware & software you could make it play music. etc. The only downside (besides a bit of extra programming) is that it takes processor-time to generate the sound. This could be an issue if your program (sketch) is doing lots of other things at the same time. (It shouldn't be an issue in your application.) A piezo speaker can be driven directly from the Arduino (probably with a series resistor). A regular (voice coil) speaker takes more current and it needs an amplifier.
An "active" buzzer generates the sound itself. So, you can simply turn it on & off with an Arduino pin, just like you turn on & off an LED. However, most buzzers require a bit more current so you'll need a MOSFET to boost the current/voltage. (I have a "ding dong" device as a pre-alarm on my home & car alarms. These work just like a buzzer... You give it 12V and it makes noise.)
...make an alarm when for example temperature is above a certain value.
It's OK if you want to make an Arduino project, but you don't really
need a microcontroller or programming for such simple logic. (A regular 'ol thermostat doesnt have a "brain" or memory.
) If you want to use an LCD (or LED) display to show the alarm-temperature and/or the actual current temperature, then a microcontoller and a bit of programming would be useful.