USSD stands for "UnStructured Service Data" and is a way of transporting infomation in GSM.
One possible use is "USSD-Roaming", where the user sends a USSD-Message (some service code and a telephone number) which is routed to her mobile provider. The provider then tries to setup a call between the subscriber and the given number, resulting effectively in two calls billed to the subscribers account.
This is popular for prepaid services, where hotbilling is essential.