It should be easily shopable store with competitive prices, you can create a "community" for your loyal customers. You should research the shopping experience of your prospective buyers and adopt change if required.
I do not use banner networks -- mostly because of in this case I cannot control what banners will be shown on my site.
Particularly, I do not want a sudden adult banner seen in one of my children's products category.
Besides, if you keep an e-shop, 3rd party banners look a little amateurish -- as if you are too greedy or just cannot earn enough with your e-shop.
I started affiliate program about a year ago. Shortly put, the effort was not worth it since then. Those who register for this program are mostly little free-hosted amateur home pages. Perhaps, the situation will change in the future, but since then links exchange performs far better.
We rely heavily on word-of-mouth -- we enclose 2 business cards with every order and do our best to impress customers with prompt and curteous service. And they tend to tell their friends -- I frequently see clusters of orders coming from the same small geographic region. We haven't offered "refer a friend" discounts yet but are considering it.
Link exchange also works well. Taking the time to actually research potential link partners and draft a *personal* e-mail requesting a link exchange is well worth the effort. I also use my web statistics provider (Hitslink) to track referrals from those sites I link to and can tell who's sending the traffic and who isn't.
Mailing list/newsletter?! People sign up for you "Widget World" for free, and you provide them with widget news, the best ways to use widgets, and unbeatable widget deals... Advantage: you become *much* less dependent on SE traffic!