User Interface literally means "user between face." Put simply, it means how the user "faces" the system/app and how the system/app "faces" the user. A good UI example is the old home page or first page of Google search. With one text box and one button, that UI cannot go wrong. A bad UI example is a web page where you can't easily find the link or button you need to do your job, where there are more than 3 cilcks from a place to place on the site.
With both these good and bad UIs, we can pass judgement even before we know how they work or respond. Just by the look, just by the layout and the display, we know the app/system in question is somehow right or wrong.
It's like how a store displays its items: lighting, shelf height and width, isle width and lengths etc. You don't need to know yet its prices, services, refund policy, etc. UI is thus about the surfaces.
Interaction literally means "between action." Put simply, it means how the user "acts" on the system/app and how the system/app "acts" on the user. Here, I borrow heavily from Chris Crawford's book I mentioned in my previous answer. He postulates that a good interaction resembles a good conversation, and that a good conversation has the 3 essentail attributes, which I will explain in the example below. He says a good interactive participant "listens," "thinks" and responds within a reasonable interval.
To carry on with the Google search example, suppose I copy Google's UI 100%. Thus, my UI at least must be as good as Google's UI.
But what about the interaction?
First, consider "listening." Suppose you intend to type in "new york mayor biography."
But once you've just typed in "new york," my app clears the text box for the search, and shows what it thinks you are searching for. You have to race, type fast, type faster than my app can respond. The app isn't listening to you, the user, at all.
Second, examine "thinking." Suppose my search engine app does "listen" to you. But, it doesn't bother to "think" but responds "thoughtlessly." Suppose you type in "new york mayor biography" and you get a list of links for New York Times issues, New York real estate agents, schools in New York, museums in New York, and so on.
Third/finally, take "speed" or responsiveness. Now, suppose my search engine app does "listen" and "thinks" but takes time. It takes your input seriously, it comes up with relevant answers when it does but you have to wait from 3 to 30 minutes for the answers to any search query.
According to Chris Crawford, and as you can see from the examples, once any one of the 3 dimesnions is lacking, the quality of the interaction suffers.
It's like how a store carries out its backend functions. The same holds true for softwares.
X stands for "experience" here. Again, let me go with an example.
To carry on with the Google search example, suppose that my UI is perfect, and that my app's interaction is fine too. In other words, suppose that my search engine app is 100% as good as current Google in terms of UI and Interaction.
Does that mean I have the same UX as Google does? Given the identical UI and the identical interaction, how can the UXs differ? Can they diifer at all?
Yes, they do. Suppose you know (actually you don't need to "know", just "feeling" or "suspecting" is enough) that I collect your IP address, your identity and your search terms, and that other people can get access to this knowledge. Whereas you use Google with relative comfort, won't you fee uneasy about your privacy while using my app? Won't you become a tad paranoid?
That's UX. Same UI, same interaction, ... yet, you "experience" different things, feelings, emotions, moods, and so on. That's UX.
It's like a store that you know or "feel" expoits child labor, that you know or "feel" pays only lip service to the green issues. Same shelves, isles, items. And same staff and services, ... yet, different experiences.
It's the "experience chain," a key concept from the second book I mentioned in my previous answer.
Please read both books, whether you are doing games or shopping carts or malware intrusion detection.