The necessity of a controller comes down to a few factors, the biggest one being you. If you are always going to be around to check up on your tank and enjoy the necessary tasks to maintain it a controller isn't necessary at all.
The only part of a controller that I would call almost necessary is a heater controller like this one.
https://www.bulkreefsupply.com/thermostat-temperature-controller-ink-bird.html
So many tanks lost to overheating when a heater sticks "on".
The next step would be the automatic top off system if you get tired of adding RODI to your tank twice a day.
After that, everything is pretty much optional. As for what is best? That is also dictated by you. I used to use the Apex and it is what I would recommend to people who are a little less tech savvy or who want a very nice web interface. I currently use the GHL Profilux and it is what I would recommend to more advanced users. I've never used the Reefkeeper so I can't speak to that.