We use jenkins and just yesterday I had changed the build process slightly so it also runs a different ant task post build without muddying our svn with empty commits,a perfectly acceptable reason to have a build now button .
That might be so. But not everyone uses GitHub, y'know?
But everyone uses some other version control system, isn't it? Set Jenkins job to poll you source code repository...
Sometimes I'm trying to improve a step, and want to test a quick change. Going from Build Configuration up to Build Overview to click on Run Build is slow and easy to forget, and I don't want to check something in just o trigger a build.
Plus, TeamCity has 'Run Now' on every build-related page.