Does my hosting company need to control DNS? Or, is it OK for DNS to stay with the registrar and just point to my IP?
Are there advantages one way or the other?
That is ok.
There can be but you don't provide enough context or information - but in general it's usually all about control and resilience.
You essentially have 3 issues to deal with:
Very often, 1 & 2 will be dealt with by the same company, your Domain Registrar. However, there can certainly be good reasons to split out the DNS hosting if your registrar is too restrictive, for example, in not allowing adjustment on the latency (Time to Live - TTL) on the DNS.
Web hosting is mainly done separately and there are good commercial reasons for this. If you had a dispute with your Web Host, or they went bust, having control of your own DNS would be extremely important.
A problem with your DNS could render your site unavailable, so a direct commercial relationship with an independent host for domain and DNS hosting is just good security and risk management.
Another reason for keeping your DNS separate from your web host is that very often your email hosting may be hosted and managed completely separately from your web hosting and you might not want to be dependent on your web host managing DNS for service they are not responsible for.