At least in Dynamic C 10, processing is identical regardless of what you pass. Whenever you call tcp_tick(), it processes received packets and manages all sockets. If you've passed a non-NULL value, tcp_tick() will return the result of calling sock_alive() for the socket you pass in.
If you're ignoring the return value of tcp_tick(), there isn't any reason to pass a non-NULL value.