Yes you need to find a topic and stick to it, if you want to make money. Google's automated systems look for your keywords (the words most often used in your blog) to decide what your blog is about. If you're jumping all over the place, Google won't be able to see any frequently repeated words, and your blog won't appear in search engines - so you'll get no visitors.
Similarly, your blog will get no traffic unless you promote it. If you stick to one topic, you can join forums about that subject, visit and comment on other blogs about that subject, etc. If you have lots of subjects, you'll have to spread yourself thinner and the result is you'll promote less effectively for all of them. Result = fewer visitors = less money