The TraceListener is part of the default logging implementation in .NET. While this works just fine to see what your application is doing (very helpful during development), log4net offers much greater flexibility with regards to the logging output. log4net allows you to configure where your logging output should go (for example: to a file, to the event log, etc.) and allows you to finetune what you want to see logged.
For instance, you want much more diagnostic information on development and test environments while you're only interested in warnings and fatal errors on the acceptance and production environments. With log4net, you can simply configure what you want to be logged, and this can be changed at any time after an application has been deployed.