Some old tools had bugs where they'd read a line (up to the new line) and then process it, so if the last line didn't end with a new line they'd never do the processing. So a manual workaround for bugs became the convention.
Unix has ALWAYS defined a line of text as being terminated by a newline. The last line in the file is not an exception.