Command Line Interface
An interface composing of writing in different sets of commands to make the computer complete a specific task. It doesn't use much space as an interface, really. It's just very hard to learn every single command for it.
GUI (Graphical User Interfaces)
An interface which allows users to communicate with the system through the use of drop-down menus and icons. It's very easy to use and can be understood in every language, pretty much. However, it may use more space on the CPU and needs more processing requirements. You would also need a faster and more powerful processor.
An interface where the user is given a list of options, where the user types in a letter or number of selection. It's easy to understand and needs minimal clicking, but only suitable if the list of options is limited. If it's designed poorly, there may be issues.
An interface where information is collected step-by-step. The user puts information into a form, where it is then validated. It ensures that all the information has been filled in with prescence checks, and can reduce the amount of errors that can allow customers to enter their own details and not worry about spelling mistakes. However, it only allows a limited amount of options if it's not left as an open question, and if poorly designed can cause some issues.
Natural Language Interface
An interface that allows the user to communicate through natural handwritten or spoken language. You don't need to know any form of specialist language, just native languages! However, it may be affected by accent and dialect - as well as homophones (Eg. They're, there, their)