No In some niches, it will provide an advantage but in others, it'll just look spammy. If I'm searching for a plumber and the results give me plumbers.com and smithplumbing.com I'll look at smithplumbing first because it's more likely to be a real company. If I'm searching for information, though, then plumbers.com would look more likely to give me DIY advice etc.
There's no reason why you can't have the keyword in a subdirectory of your main domain ie nameofdomain.com/keyword That way you have both the full domain name and your keyword. Also good for SEO if you can get a high search volume but low competition keyword relevant to your niche.
Not mandatory, but if you find exact keyword domain you can use it. If you don't, use related keyword phrase.
If it's still available you should definitely register the domain which contains the primary keyword. Many webmasters will link to your site using your site name so you will gain a lot of SEO benefit when trying to rank for your primary keyword.
You can browse the domain name search bar which fits your keyword. Every domain name provider has it. And the best part is that you can get different combinations just in case its taken. I was suggested great domain names for the keywords I wanted by BigRock. It's quite good as a domain name facilitator.
No, however it is useful to have something close to what you do in the name and will help. Not however essential.
I am saying this by experience. All the websites where I had keywords in the domain, those websites never ranked anywhere in google. The ones that ranked, I focused too much on content on those websites, and virtually no marketing, no link building efforts, nothing except unique content. Unless you are a very popular brand, I don't think domain matters to google anymore.
I totally agree with you @JEET . In 2006 or before that, keywords in domain concept was working very well but now a day, there is no extra benefit a site will get having keywords in domain name. So best would be try to follow google SEO guidelines and optimize your website according to your keywords or business. Here is video from Google team (Google Search Central) which will give you 100% proof of the thing that @JEET is saying.
Your domain should be the same as your company or brand name as this is the only way for you to build a stable online reputation. Keywords in the domain can be somewhat helpful for the ranking in the beginning, but these domains usually look spammy and users have issues with trusting those kinds of sites as they sound too generic. So, I wouldn't use it in the domain name, rather in the content and meta-descriptions.