There's a simple reason that Twitter always pushes link through their shortener - it means that if a link is deemed hazardous to your health, they can kill it.
This happens all the time with spam accounts, but I've seen it happen on real accounts as well. Twitter takes exception to something you've lunk to and "Bam!" - the link doesn't work any more.
I think there are other reasons as well (e.g. analytics, as mentioned in the post, when links are consumed through third party clients), but I don't buy this one. Wouldn't this only be useful in breaking spam links when they are spread beyond Twitter? On Twitter itself, they don't need a URL shortener, they just need to remove the offending tweets. It might be a nice side effect, but I doubt it's the real motivation for shortening everything.
This happens all the time with spam accounts, but I've seen it happen on real accounts as well. Twitter takes exception to something you've lunk to and "Bam!" - the link doesn't work any more.
Good practice? Or simply evil. You decide.