Don't trust default timeouts
Modern applications don’t crash; they hang. One of the main reasons for it is the assumption that the network is reliable. It isn’t.
When you make a network call without setting a timeout, you are telling your code that you are 100% confident that the call is going to succeed. Would you really take that bet?
Source: Don't trust default timeouts, an article by Roberto Vitillo.