USSD stands for Unstructured Supplementary Service Data. It is also known as QuickCodes or Feature codes. It is a communication protocol used by Global System for Mobile (GSM) cellular phones to communicate or send a text message from a mobile phone to an application hosted by the mobile operator. In short, it is a service that is used by GSM-based mobile phones to communicate with the network operator's computer.
USSD is a session-based protocol in which a real-time session is established between a mobile handset and network operator's computer. It is similar to Short Messaging Service (SMS); the only difference is that the USSD transactions occur only during the session (real-time) between the parties involved, unlike SMS. It is a two-way communication of information that continues as long as the connection remains open.
USSD is used for a wide range of purposes such as prepaid callback service, location-based content service, WAP browsing, mobile banking services, mobile chatting, and more. You are using a USSD service when you dial a number that starts with * and ends with #.
For example, for mobile banking services, you need a smartphone with an internet connection. But, for USSD service you don't need a smartphone and internet. You just need to dial the number given by your service provider, which starts with * and ends with #, from your mobile phone and registered mobile number for basic mobile banking services such as to check balance, mini statement, etc. USSD codes are connected to a bank's server and thus provides access to your bank account.