I have seen the use of both terms. Are they the same thing or are there any differences between them?
hostname is the correct term when referring to the name of a machine, as opposed to its IP address. From Wikipedia:
In computer networking, a hostname (archaically nodename) is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet.
With "server name" or "machine name" it is intended, well, the name (hostname) of the server or the machine.
Note that the hostname (e.g.
jupiter) usually doesn't include the domain name (e.g.
example.org). Together, they form a FQDN (Fully Qualified Domain Name):
jupiter.example.org. This is the most precise usage.
However, for instance when talking about the World Wide Web as in the Wikipedia page you linked,
jupiter.example.org is often called (somehow incorrectly) an hostname.
In the Yahoo question you linked, they're synonyms.
"Hostname" is used specifically in the context of the TCP/IP suite. Other protocols or operating systems (MS Windows) often use the term "server name." So for example, a device could be referred to by its Server Name in Windows, but by its Hostname using DNS. The names can be different.
Often the two terms are used interchangeably.