There's no such thing as an "MX server". It's an "MX Record", a.k.a. a "Mail eXchange" record. An MX record is just a standardized directory listing that tells email servers where to deliver your email. Related, an SPF record tells email servers who is authorized to SEND your email.
You maintain these, and other, records on a DNS server. A DNS server tells the world things like "To deliver @Yahoo.com email, the first of several servers to try is "a.mx.mail.yahoo.com" which is reachable at internet address 67.195.168.31".
SMTP, "Simple Mail Transfer Protocol", refers to the standardized way to format and send email. An SMTP SERVER is a server that can accept email, and "do something with it". For a small company, a single server will handle everything from receiving SMTP connections to storing your inbox. For a big company, a dedicated "SMTP server" might receive email, check it for spam and malware, then forward it on to another server for storage and retrieval.
POP (POP3), "Post Office Protocol", refers to one of the two publicly standardized ways to talk to your email server. A POP SERVER is a server that lets you access your mailbox, and of course that server can do all the other email stuff too, or it can be dedicated to just letting you access your mailbox. The other major public standard is IMAP4, and the private standard that has more or less "won" is ActiveSync, which is used to connect to Microsoft Exchange email servers. POP3 is the most basic, ActiveSyc the most powerful. These are all used by programs. Many email servers can also be used with a web page, but those are all server specific.
So, let's say I am using Outlook Express. I write up an email for "Bob@CompanyName.com" and hit "Send". Outlook Express then contacts my email server using SMTP, proves I am allowed to use that server for email, and gives it my email. (The sole reason for having the SMTP server involved is to prove your allowed to send email. You can actually send things directly, but your email will nearly always be rejected by the receiving server then.)
The SMTP server then looks up the MX entry for the "@CompanyName.com" part, and sees that a server named "abc.mail.CompanyName.com" handles incoming email, and that it's address is "123.45.67.89".
The SMTP server then tries to connect to 123.45.67.89 using the SMTP protocol. If abc.mail.CompanyName.com accepts the connection, it then is asked whether there's a mailbox for Bob, the part BEFORE the @ in "Bob@CompanyName.com". Assuming the mailbox exists and is allowed to receive email, abc.mail.CompanyName.com signals that it will accept delivery, and delivery is made.
Assuming abc.mail.companyname.com is a complete email server, it processes the mail and places it in Bobs inbox. Bob then connect's to his inbox through web, POP3, IMAP4, or ActiveSync (depending on the server and the device used to connect) and is able to view/retreive his email.