I love Tableau because, to me, there is almost nothing else out there that does data visualization so quickly and so effectively. I love that you can import almost any kind of data source (I only use SQL or Excel as sources, but there are hundreds of other options). I love that you can then add your own calculated fields, group data into custom buckets, and create parameters which the user can input on the published workbook. I love that you can visualize the data so quickly and in so many ways (with color and shape/size as further attributes). It's like a pivot chart in Excel but so much more agile to use! Finally, I love that you can then build dashboards with these individual reports/worksheets that you create, publish them onto the web, and essentially "set it and forget it," thereby providing your end users with future reporting that is automatic and requires no further work on your end! The real beauty is the creation of alerts and subscriptions, which can email users on a schedule or depending on certain conditions. That's when life really gets exciting--it's like having a full-time robot managing your processes!
I definitely wish Tableau could write back to a database. That would be amazing. I've heard it's in the works, but for now, it's still just on my wish list. I dislike various aspects about Tableau that can make it quite tricky to use. When you publish a data source, you should really publish it first before creating any calculated fields, groups, or parameters. Otherwise, it becomes much more difficult to edit these fields later as you have to re-download the published data source to make your edits to those fields, and then republish your data source, which results in my having to ask IT to re-input the server refresh password to get the data to refresh on a schedule again. This is a tremendous headache. So it's best to create and save new fields at the workbook level, not the data source level. There are also a great many bugs I still run into with Tableau from time to time. Strange behaviors that show me it was created by a human being, as all software is. There is usually a way to figure out a workaround but you have to get creative. Tableau is quirky, for sure. Some actions in the local program work great but don't necessarily translate to the web form. For example, if you create a calculated field that depends on data from two different sources, that works great locally, but it doesn't work well once you publish those data sources to the Tableau Server, because, for some reason, it does not allow the calculation to draw from the separately published data.