When it was announced that there was a default trace that was on in SQL Server 2005 lots of people got very nervous(similar reaction was had to the idea of DMVs). A lot of the fear of the impact of trace comes historically. When trace was used in 7.0 the perf degradation was pretty dramatic, however the server side portion of the implementation was rewritten for SQL Server 2000 and it was MUCH better. We spent a bunch of time tuning (after we scared ourselves by running a C2 audit while under TPC-C workload!) and I think the improvement as pretty dramatic. Of course you can always reduce the overhead by not tracing from the client and oing it all through the server but lots of people still ask the question.

Linchi (one of the SQL Server MVPs) has a nice analysis here of the impact and its pretty good news.