Tau Functions and their Applications