Google Autocomplete – go to google.com, start typing a phrase and look at the dropdown autocomplete results. You can use the underscore character “_” to have Google fill-in-the-blank. Just make sure the last character you type is an underscore. Try using plurals and change the word ordering to see different results. This is how I find 90% of my keywords.
I just started implementing some affiliate offers to my blog. And I agree that you have to find the balance of offering something to your readers without being too pushy or like what you said without selling your soul haha. For me sine my blog is about travel i just mention where I stayed or what hotel and if I liked it and I recommend it I put an affiliate link.
Always disclose your affiliate relationship. Most visitors will probably understand that graphic ads will lead to your getting paid, but if you write a review or use an in-text link as a recommendation, you want your readers to know that may lead to compensation as well. This ensures you retain transparency and trust with your readers, but also, it's required by the FTC's endorsement rules.