Unless you prefer to pay to be somewhere near the top, ranking higher than the competition is a skill and takes some attention to details.
To get better ranking on user searches, you must have relevant information in the <TITLE> and/or <HEADER> portion of your page, as well as having relevant information in the <BODY>. Your page's name can be very helpful in many ways, e.g. mysite.com/free_widgets.html is better than mysite.com/page2.html or mysite.com/find.js?id=page2
All HTML tags on your site have important functions that the search engines value differently. For example, <H1> tags are seen as more valuable than <H6> tags, <B> tags are more valuable than <SPAN> tags.
When you use links to direct to other pages, use real titles. For example, instead of using a generic title such as "click here"
<a href="page2.html">click here</a>
use an actual title, such as "How to use titles and names correctly"
<a href="page2.html" title="Learn to use Titles">How to use titles and names correctly</a>
To increase traffic to your site, you might want to consider placing your site on other sites, such as Craig's List or Dmoz directory. Consider creating a newsletter and allowing people to subscribe to your newsletters. Besides gaining recurring traffic from subscribers, they will generally share these newsletter emails with other people, which can lead to additional traffic.
You may also ask other webmasters to list your site on theirs, if you are willing to list their site on yours. It's only fair to trade links equally! This is called link reciprocation. The best method of doing this is to search for the keywords you'd like to be associated with, contact the webmaster of that site and see if they will trade links with you. If they refuse, just move on to the next candidate.
Another way to improve traffic is to create a textual sitemap of everything in your website and submit it to search engines. This will help locate your pages better.