In today's cloud first world of building applications, we increasingly rely on distributed services for application logic. Many times these services aren't even under our control.
With dozens or hundreds of services that make up the backbone of a modern application, how do you keep the system resilient? How do you prevent minor blibs from stopping an operation dead in its tracks? Worse, how do you keep a critical service outage from taking out your entire system?
You can code things like retries, timeouts and caching into your application, but often that leads to code bloat that is difficult to get right, and even more difficult to keep consistent.
Polly is an awesome library that gives you those resilient capabilities in nice little packages that are easy to use, and can be combined to create applications that not only handle the occasional network blip, but can gracefully degrade in the case of a severe outage in a dependent service.