See this support document for troubleshooting visual voicemail http://support.apple.com/kb/TS4430. The carrier has to support visual voicemail and your account has to be provisioned for it. If the carrier does not support visual voicemail, then you will also need to contact the carrier to set up voicemail.
Found this on a recent Apple post. The problem corrected itself when I call my number from my iPhone and retreived my messages that way. Then voicemail started working from the iPhone Voicemail icon. Hope this helps.
Follow these steps to troubleshoot issues with accessing voicemail on your iPhone:
Restart your iPhone.
Make sure you have good cellular network connection. You can verify whether you can make and receive calls.
Make sure your voice mailbox is set up properly. You can verify this by dialing your phone number from your iPhone.
Update your iPhone to the latest version of iOS.
Reset your network settings by tapping Settings > General > Reset > Reset Network Settings.
Contact your carrier if:
You still cannot access voicemail
You experience difficulties with voicemail while traveling abroad
You are unable to reset or change your voicemail password
After receiving a voice mail message from an unknown phone number, I could not get into voicemail on my iPhone even though the phone icon showed 3 messages. I tried most of what you had in your answer so I don't know which one was the magic answer but my problem seems to be solved. The number 3 on my icon is gone and I am now able to get into the voice mail screen.