I have the answer to both of your questions!!! the answer is.......... *drumroll please* Traffic. But how do you get traffic? quality content. But...but... Quality Content = Traffic = Clicks = $$$
Lots of testing... and hard work... and reading forums like this and webmasterworld... And make sure you are doing something you enjoy... makes it much more rewarding...
start small, one niche site with decent content and then market like there is no tomorrow! Once you have traffic, test for ad placement etc., but getting traffic is the key
Create a blog or website around a niche and get lots of targeted traffic. Also provide quality content on your page. You can also create a site in which you have a passion for and provide good content.
It is all about getting as many visitors as possible, there will always be ways you can optimise but visitors = money
Hard work is the secret , once you've made your site a well known one , $$ will also come it's a matter of time
Figure out how to get about 10,000 impressions a day. It'll probably take less than that, but you should be on the safe side.