How is version 5 better than version 3?
It computes the hash with SHA-1 instead of MD5, and this is the one the standard recommends for new work. The behaviour is the same: the same name in the same namespace always gives the same identifier.
Why does the result change on every run?
The name the hash is taken from is random here — the form asks for neither a namespace nor a name. If you need a reproducible identifier, compute it yourself from your own values: the same input will then always give the same result.
Is SHA-1 secure enough for identifiers?
Yes. The known attacks on SHA-1 make it possible to find two different messages with the same hash, which matters for signatures rather than for spreading names across a value space. If the identifier has to be unpredictable, take version 4 — it is built on randomness alone.