Is there a difference between tempo and bpm (beats per minute ) ? Or is one just more precise than the other?
Tempo is a convention (allegro, andante, presto, etc...), i.e. A subjective approach to music timing. BPM are the number of beats happening in a minute, i.e. an objective approach.
It's the difference between length and meters. Tempo is the concept, BPM is the measurement.
Tempo is vague - purposely - to allow some musical licence for performers. On one of my metronomes, andante spans 120-150, whereas another spans 76-108. One official note is 'moving along but not slow'. If that lot's not vague!
BPM is actual, so a lot, lot more exact. Not so important for a classical piece, say, but for a particular dance, paramountly so. Having said that, a lot of tracks that are marked at a specific bpm can move +/- 5% or so, because that's what the music makes the players do, to an extent, especially when playing live.
Tempo means 'speed'. It can be defined loosely by terms such as 'Allegro', 'Lento' etc. It can be defined more precisely by a mm mark or BPM figure. There are words that convey a mood as well as a speed. 'Giocoso' means 'Merrily' which implies more than just a bright tempo. We could argue over whether to classify it as a Tempo term or something else. Here's a selection of 'Tempo plus' terms: