USSDs are the *#...“ codes that you might dial to do different things with your phone and carrier network. Some carriers do use them for account balance enquiries, airtime minutes remaining, credit voucher top-up, etc. "USSD error" means the whatever it is code you're dialling has not been recognised or is incorrect for your carrier. Some carriers may use different codes if it's a pay monthly or pre-paid account.
If you're trying to get your balance, check with your carrier that you've got the correct code for it.
Was your phone supplied by and branded by a carrier, and are you using that same carrier or a different one? Because some carrier variant phones might be programmed for their own services, and if it's trying to send those USSD codes to another carrier, then it's not going to work.