Interaction Design - represents the design aspect related to the notion of utility. The choice of visual elements is not determined by aesthetic principles, but by how useful the design will be for the visitor of the website and how much will simplify and optimize his/her experience.
Example of approach: Is a round button more suitable for our target-audience or a square one?
Visual Design and UI Design stand for the aestethic feel. The only difference between Visual Design and UI Design lies in the fact that the first one is more comprehensive, including everything, from buttons, icons and layouts to posters, while the latter doesn't include banners, being focused mostly on the icons/buttons/theme side of an application.
UX design is similar to the notion of Interaction Design, but it's more "hardcore" in this regard, describing the logical approach with regard to usability, like the logical architecture of the website, determined by the user's needs. It is the process of planning, projecting and wireframing, establishing functions and envisaging the system, while Interaction Design is a step further.
In conclusion, UX is associated with the concept of sketching and wireframing, UI is finishing the design accordingly (adding the theme, the web-safe fonts and the color palette), and UI development is the process of recreating the design when coding.
You can find out more about that on the Interaction Design Foundation:
https://www.interaction-design.org/literature?ep=mb