I used to work with IServiceProvider in my COM days (sshhh don’t tell anyone).  It was a great way to build communication lines between objects and then proffer (IProfferService) other services.  To do this, you need to be a container for services.  Visual Studio is a container and provides you ways to do proffer (add) services.  When you use the Component Model (wow sounds almost like COM) in .NET (System.ComponentModel) you can start seeing how this is used throughout the framework.  Instead of me doing some long winded talks on the subject, I will give you some pointers to some good reads on the subject. 

http://www.divil.co.uk/net/articles/designers/hosting.asp

http://weblogs.asp.net/cazzu/archive/2004/05/10/129140.aspx

So learn this, you will see this in the new Enterprise Library in the future J.