Author Functions

the_author()

the_author is a string value-returning method that accepts two parameters. There isn't a great deal of information on the full point of the parameters. The second one I was able to kind of figure out: it determines whether the method is going to echo or return the author name from get_the_author. The only thing the first one looks like it's doing is setting a version number, so I don't really get that one. Anyways, the value of get_the_author is the result of the public display name in WordPress, which can be changed based off of your other values in the other fields.

the_author_link()

the_author_link is a void method. It echoes the result of get_the_author_link, the point of which is to get a link to the home page of the author. If they don't have a home page, it gets the author's public display name.

Similarities/Differences

Similarities: they both call a different function to get their values. The only point I can think of for that is more memorable/friendly function names from dropping the get_. Also, they both have echo capabilities, and they can both return the author's public display name.
Differences: they both have different primary uses that override the similarities. the_author is made to be value-returning instead of echo, and the_author_link is made to return the author's page link instead of their name. Also, the_author is the only one with parameters, and it was introduced 2 versions before the_author_link.

Summary

I still don't fully understand why a function would call another function to get its result, but as long as they do their jobs, I'm not going to question it. They both return useful information about authors, but you definitely need to be aware of both their nuances in order to use them properly.