Is it a must to have the main keyword I would like to target in the domain name? Mainly for long-term SEO
It is not a must but it helps, I always try get a keyword in there. If your going for a brand that is a different story.
It is proven keywords in a domain definitely gives you an extra advantage. If your brand is more important to you then you would want to have a domain that is: short memorable easy to spell Check out Aaron Walls site. This isn't the best post on branding he has done but its a start: http://www.seobook.com/archives/000622.shtml
It certainly helps, especially if your domain is an exact match of the keyword you are targeting. It would be optimal to have a brandable domain with keywords built in. Toysrus is a great example of this.
I use keywords in domain. It definitely help. But for branding I don't care about keywords for me brand is important.
it helps but not too much, i would say its your anchor and your main keyword in the body text and meta description.
As the others have said, it's not necessary, but having a relevant keyword as the core of a good, strong, and easy to brand domain name can help, sometimes a lot (but most of the time not as much as people would wish they did). Take "Minimal Markup" for example (disclosure: that's my domain name). When that site launches (probably early next year given how much "Murphy" has been kicking me everywhere lately it seems) how many people do you think will find the site just by typing in the words "minimal markup" in their search engine of choice when looking for articles and tutorials on how to build Web sites using the least amount of code possible?