As well as the performance is that fact that when a 3rd party or the customer themselves is running the trace this can go wrong.
Often we'll get a trace back without all the events we're interested in.
For example it won't include the SQL run by triggers.
Server-side tracing might be a way to ensure the correct events are run by providing the scripts ourselves.