It depends on what OS and programming language you are using (whether you want to design DB ). I like MySQL Workbench, but it needs some gnome libraries that I can't make working in my KDE environment on linux, no package for my distro.
But 2 years ago I started using Oracle SQL developer + datamodeler & viewer, and it works absolutely great. No complains. I was also using DbVisualizer for some additional ER diagrams modelling, cause there are some additional functions I was missing in the oracle soft. There is a little disadvantage as to SQL developer : I couldn't figure out how to manually modify particular fields in data display tables. I bet there is a way but maybe it could be via some additional commercial plugins from oracle.
If you are programming applications, in Java for instance, or modelling databases, I would definitely go with MySQL Workbench or Oracle SQL developer. If you just need a database for some tables to store data into, I'd go with phpMyAdmin which I was using for almost 3 years some time ago, and there is really everything essential and reliable, but no ER modelling like support.