Regarding Combinatorica there is something I found useful. As Bill says it it conflicts with some of the built-in functions/definitions that Mathematica uses. Unloading Combinatorica to get the standard definitions back is sometimes a problem. This here works. First, before loading Combinatorica you need to execute:
<< Utilities`CleanSlate`
then you can load Combinatorica
<< Combinatorica`
and work with it. When you want to go "back to normal" you can use:
CleanSlate["Combinatorica`"]
and you start with a, well, clean slate.
M.