Before staring the main research I use to select top most competitors for any given topic/niche/product so that I could spy all of their performed KW (both Organic & Paid) at the very initial stage of my research. Then based on those keywords and using other tools especially SEMRush and Google Adwords Keyword Planner and Spyfu.
I try to generate each and every relevant keyword considering a specific minimum number which vary niche to niche.
Keyword Research Includes:
Top 10 KW Research
KW Searches Report
KW Competition report