To make the optimal decision about the type of fields to incorporate into your application you only need to consider one concept; "Always use Lookup fields" A Lookup field can be displayed into nearly any other field form: Radio Button, Checkbox, etc & you are 1000% better by incorporating Lookup fields right from the get go. Let me explain why.When you build an application there are 2 main aspects you need to evaluate: the size of the application & the usability or user experience for both developers & endusers.
For the size of an application its better to have Lookup fields because it will save you time as you incorporate the field into multiple forms and screens across you application. I had to learn the hard way after a client requested to have the same field across more than +20 screens and had to manually enter the field options , which were a "gazillion"by the way, into each and one of them. We changed course and start adding Lookup fields instead and now we only need to drag the Lookup field and call it up as needed. Also if the Client changes his mind, which mine does regularly due to a dynamic business process, can go into the Lookup field that requires a new option and added or modified it himself.
Regarding the user experience, Lookup field used to be a problem considering that not all field options were available for a Lookup field. Initially that is why I was apprensive about using Lookup field across the application and settle for a drop down when i was really in need of a checkbox or something else. However, you can now select any field alternative from within a Lookup field therefore the argument above is no longer valid and you are way better of incorporating a Lookup field everywhere you go. As for developer usability, your only concern is the type of field you use & you should consider that Checkboxes will be the most difficult to code around when triggering actions upon selection of multiple checkboxes, but other that is field option selection process not an issue with the Lookup field itself.
Dont make the same mistake I made, save time and start using lookup fields across your application. create a New Tab, name it lookup tables and store everything in there, move it to the end of the list and hide the tab menu. On sharing specs make sure you are the only admin ( or any developers you may have ) with access to this tables and listo!!!
Image for the old Zoho Creator Interface