1)Tables with many columns does not have to result in a clunky design. You can always find a way to display the data with some creativity. Moreover, You can always creat an extension to suit your need with qliksense. Also the mashup utility is a great one. Keep in mind the level of creative design and flexibility angular and d3.js can give you. Explore extensions in the qlik branch website.
2) Loads of examples out there
3) Direct query is good feature in qliksense which gives you the ability to trgger database queries.
I suggest you explore qliksense features and examples.