If you are branding then you can take domain name of your company. But if you are choosing domain name for any type of earning website or for services website then take the domain name of 3 words and which is easy to rank.

Always go for paid hosting and domains because the free domains are not accepted easily by the google ad sense. Free hosting have some limitations and we don't believe on them because we don't know that when they will remove our site or they will show their ads on our site etc.