Are they similar, but different at the same time (if so, how), or are they just terms that are used interchangeably to describe the same profession?
No difference, not even in usage. Neither one is considered more formal than the other, at least as far as I know.
In the United Kingdom and other countries - Canada for one - there are different names for attorneys. In the U.K. attorneys are either solicitors or barristers. I am not entirely sure on the difference, but solicitors would be similar to what most people in the U.S. think of as an attorney, and a barrister is generally hired by a solicitor to appear in court cases.
There actually is a slight difference between the terms "lawyer" and "attorney," although such distinctions are small and not commonly understood by the public, by lawyers or by attorneys. Generally speaking, a "lawyer" is any person with a juris doctor degree (a "law degree"), whether or not that person is actively engaged in the practice of law. For example, a person who graduated from law school, never passed the bar exam, and has become a full-time high school teacher is a lawyer, but is not an attorney.
An attorney is a lawyer who is licensed to practice law and who actually handles legal matters on behalf of clients. Therefore, not all lawyers are attorneys.
Furthermore, a "litigator" is an attorney who actually handles legal proceedings on behalf of clients in a court of law, as compared to transactional legal services (like drafting contracts) that do not require an appearance in the courrhouse. Not all attorneys are litigators.
But these are highly technical distinctions, so all the previous answers are also correct in saying there is no substantial difference between "lawyer" and "attorney" and that those words are almost always used to mean the same thing.