There are a few different reasons to add a newline at eof, but as Allyson states, the main one is collaboration. Having a newline at the end of file has been an adopted practice for a while now. Traditional text editors like VIM add a newline at eof by default, and diff tools will most likely complain about the missing newline.
It is also important to note your line endings, which are also a source of headache sometimes, specially if you have developers using windows and *nix collaborating. Git has some good tools to deal with that via git-config options. GitHub has a nice summary here: Dealing with line endings