Some people are saying use an A record and others a CNAME for a catch all subdomain.
Which should I use and why?
It won't really matter if you CNAME or A record the *.example.com record.
CNAME
A
*.example.com
The one benefit to CNAME is that if you change your A record for www.example.com you won't need to change the *.example.com record as well, but that's minimal.
www.example.com