I found Visio to be useful for 2 things:
1) Flows (flowcharts, wireframing, sitemaps)
2) Reverse engineering Databases
other than that, it's really of no use. But still valuable for those things.
Enterprise Architect is the only way to go with DB Modeling.