Touch serves two purposes. If the file already exists, it changes the timestamp to the current time without altering the file itself. If the file doesn't exist, it creates a zero byte file (with the current timestamp, of course).
People sometimes use it because they have another script that can only write to files that already exist and touching the file is a way to make it exist.
bin is just the directory where touch is located. When you know a command (in this case, touch), you can find out what it does by typing:
man touch