Totally depends on your site. If you are selling/promoting/or writing about just 1 topic or item you might pick 2-3 keywords. However, if you are setting up a larger site, say on Cars for example, you could have hundreds (or more) of keywords. Each page should ideally have a keyword.
Your site should only have 1 main keyword. Period. End of discussion. Your keyword needs to be in your domain, urls, title, header, description, etc. And thats the keyword you need to use for linking. However, don't forget LSI ( your pages need to contain the related keywords that usually appear with your keyword in texts ). But only target one main keyword. That is if you want your site to be found.
It depends. I look at the keywords in GA to see on what KW visitors come to my site. I leave it for about 2-3 months and than start with optimization.
I personally don't do over 6 for a domain, and two for any given URL. Any more and they just begin to cannibalize each other.
You should focus around 3-5 keywords as primary, beside you can keep adding niche, long tail keyword in your marketing strategies. And targeting on new keywords will increase your site to rank higher for that keyword as competitor would be less for it.
It is depends on your services but I can suggest to you to target 5 keywords/page. by doing this you can target as many keywords as you want.