Speaking personally I find that I always use awk for printing (numbered) fields in shell-scripts, and when typing quick ad-hoc commands at the prompt.
The main reason for this is that it's easy to add a grep-like step there, without invoking another tool. So I can add a range-test, a literal-test, or something more complex than I could do with grep.
In short I can go from:
awk '{ print $2 }'
To this, easily: awk '$1 == "en4:" {print $NF}'