Netty seems a good socket server for fast and non-blocking calls. According to my knowledge the netty supports for non-blocking I/O and asynchronous calls. Still the socket call can be happen through simple Java Socket Program. But java socket not handling the socket fail and other exceptions. We may need to implement fail handling in java.
This is high salable to handle thousands of call. So when you have a requirement to handle huge set of call then netty will be a right choice.
This create each thread for each call, therefore the cost of the netty on servers may high. because It use memory resources as much as possible based on number of threads.