1999 - Cool and Clever
2005 - Horrible
2010 - Horrible but sometimes necessary
2015 - Awesome
Huh, what happened?
You can place another service's elements on a page that look like they're actually part of the page layout while the JS running them can freely communicate with the service's backend without having to bother with cross domain problems.
Think of all the support/chat widgets you see on modern-day pages, they're all iframes.
And obviously: tracking all the things!