I don't understand your comment - could you expand on it?
To some, it's a faux-pas. Personally, I like the aesthetics of cat for my own scripts. It follows the "pipe flowing" idiom better.
There are performance reasons why "useless cat" should be avoided though. So avoid it where performance is important (or when some other hardcore CLI jockey is going to see your code :))
foo < bar
with <bar foo
but I've never been able to get myself to do this. $ cat foo | head -4
b
a
c
b
$ cat foo | head -4 | sort
a
b
b
c
$ cat foo | head -4 | sort | uniq -c
1 a
2 b
1 c
$ cat foo | head -4 | sort | uniq -c | sort -k1nr | head -1
2 b