My understanding is that domains do expire unless you pay the fee to renew for another year.
The problem is that this isn’t what happens today. If you register a domain and never pay for it again then providers will often renew the domain and keep it to themselves and try resell it later. This is one of the biggest issues in the domain name market and GoDaddy is one of the worst offenders.
Regarding unused domain names, how would anyone know if a particular name is being unused?
Yes that’s a good question but I’m sure that ICANN with all it’s wisdom and infinite resources and teams could define something reasonable. I believe the first step could be to simply make sure registrars can’t do what I describe before.