WebClient can be used when you do not need fine-tuning.
When using HttpWebRequest you can control various parameters, including timeouts (very important). So basically - WebClient for toy projects / POCs, HttpWebRequest for actual business.
ripper234
source share