How and when should I create custom data fields?
Welcome to Civi! A great place to start is this wiki post about Groups vs Tags vs Custom Fields:

http://wiki.civicrm.org/confluence/plugins/servlet/mobile#content/view/86213742

There are also sections of the Civi book that might help:

http://book.civicrm.org/user/organising-your-data/groups-and-tags/

http://book.civicrm.org/user/organising-your-data/custom-fields/