ui-grid has a flag for enableGridMenu: true which provides a dropdown menu to show/hide columns. Here is an example: http://ui-grid.info/docs/#/tutorial/304_grid_menu
Does smart-table offer any OOTB show/hide feature or already available extension I'm missing? I know this can be done brute force and I found this gist but it handles the show/hide at the column level and not a table wide "enableGridMenu" simplistic enablement. https://gist.github.com/srph/2443ece955799fee1d9f