Adding Custom fields to checkout pages

Hi All,

I was getting a little lost in all the posts regarding this. What do you recommend for adding custom input fields to the checkout process?

Also is there a way to make phone number required?

Thanks!