Once I think I've got a good niche, I go to Google and see how much that word is searched for, you can use various tools for this, but try to find a good one that will tell you an average monthly search for the broadest range word, and then sit back and create a big list of the type of words you think people would use to search for this item.
Make sure you write down words that are mis-spelt, and ones that are two to three words long, then once you've got those thought of, I go back to Google and re-do the search for each of those words to see what type of traffic I may expect to see once I rank in the top 10.
Notice how I said, when I rank in the top 10 and then the words with the best traffic I go to google again and type in allintitle: The keyword and do this for each keyword and see how many websites have this for the title and then once I'm finished that, I go back to the top of the list and go back to Google and type in allinurl: The Keyword and I see how many websites have the keyword in the url.
So after doing this I now know which keyword gets the most search's and I know how many websites have the keyword in the url and title, This can take a long time but you've easily narrowed down know which keywords you can get to the top 10 search on google with.
You should know a bit about search engine optimization and you then should know how to properly do keyword research.
What I've mentioned here is just a brief explanation, a bigginners guide if you will, it will give you an idea of where to start when researching a particular niche, the less competition with the highest monthly search results is usually the better niche to go after.
I'm not going to explain everything in this post because you've got to do some additional research, your question was very broad and covers many different topics.