GitHub is a web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features (Wikipedia).
Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”
Both are systems that allow you to have one or more repositories to store various versions of your applications, with the opportunities to track the updates and to recover (restore) previous versions.
They are very usefull, expecially when working in a team.