If you choose Docker Hub, _do_ apply for a paid user and avoid running into the rate limit issue. Esp if your k8s clusters are pulling from it. if not, you'll get an incident in PRD sooner rather than later.
That said, Harbor is extremely easy to set and use. Setting up a reliable HA solution that centralizes all your OCI and Helm chart registry needs requires some more time. But is also fine. once you have that in place, so the lead time will increase, you'll get more pay backs the longer to you go:
* vuln scans
* CVE reporting
* pass-through proxies to Docker Hub (docker.io and quay.io)
* OIDC sign in
everything just becomes transparent to the users
In addition, should you have or get the need to offer private customer registries for customers (read: PAID PLANS!) then Harbor is a must_do IMHO
As always that depends on your environment and needs. While Docker Hub is a cloud service, Harbor has to be hosted by yourself. As always a cloud service can be more expensive, but it will relive you of the work you would otherwise have to do yourself (or your team). It also depends on where your Kubernetes is running. If your using one of the big cloud providers, then I would use their offerings. If you are running on-premise or on a smaller hoster it depends, what other requirements you have. If you want to have full control then go for Harbor. It is a reasonable choice and works well but it also needs more effort in setup and maintenance. Docker Hub subscriptions (which you will need to do any serious work with it) also offer more other stuff as well, such as builds on Docker Hub and vulnerability scanning.