I want to have a clear understanding of difference between user interface, user experience and visual design?
User interface is all the interactions between a user and a machine: steering wheel, buttons, mouse, keyboard, screen, joystick, sounds... When not specified the machine is a computer and the interface a graphical user interface.
Graphic design (or visual design) is the process of creating visual forms to pass a message.
User experience is how these interactions (visual forms being part of it) affect the user.