1) Be careful with CSV files and UNIX tools - most big CSV files with text fields have some subset of fields that are text quoted and character-escaped. This means that you might have "," in the middle of a string. Anything (like cut or awk) that depends on comma as a delimiter will not handle this situation well.
2) "cut" has shorter, easier to remember syntax than awk for selecting fields from a delimited file.
3) Did you know that you can do a database-style join directly in UNIX with common command line tools? See "join" - assumes your input files are sorted by join key.
4) As others have said - you almost invevitably want to run sort before you run uniq, since uniq only works on adjacent records.
5) sed doesn't get enough love: sed '1d' to delete the first line of a file. Useful for removing those pesky headers that interfere with later steps. Not to mention regex replacing, etc.
6) By the time you're doing most of this, you should probably be using python or R.