I'm sure you could find a lot of PowerShell scripts around which do the same. This simple console app just makes it much easier. It warms up all site within Sharepoint farm and all you need to do is to schedule it in Task Scheduler. Or you can run it manually, of course.
User account running this application must have at least read permission in all sites. If not, the site won't be warmed up.