We've been building e-commerce web sites, both at Fab Gear and in previous companies, for more than six years now. Where we once used NSAPI, C++, custom templates and Oracle, we now typically use servlets, Java, JSP and, well, Oracle. Along the way we've seen and used most technologies in common use on the web.
We tend to come back to the Java model (servlets, JSP and other selected parts of the J2EE platform) because it provides reasonable platform independence (operating system, web server and database), broad support in the industry, good performance, a solid software engineering base, and a reasonable separation of logic from presentation. Meanwhile, it allows a team to work at multiple levels, depending on an individual's expertise and the needs of the task at hand. We also have a large Java toolkit in place and fresh expertise, which tend to influence our choice in projects.
One tends to think of platform issues when making technology
choices at the start of a project, but some of the most
important technology choices you'll make involve the development
environment. At Fab Gear we have some established habits for
managing a project, using some of the Internet's most popular
tools: NetBeans provides an integrated development environment,
CVS handles source code control, Bugzilla tracks bugs, etc. We
can certainly adapt to other environments - and in our line of
work, we're often called upon to do just that - but we don't
have to waste time with really basic decisions.