The words mean pretty much the same thing.
In practice, one or the other tends to be preferred in any given context. Like we say that a person "collects stamps" or "collects classic cars", not that he accumulates them. But we say that a person "accumulated a large sum of money" or "accumulated a pile of trash".
"Accrue" is rarely used except with the specific technical meaning that Dilip refers to: something that is due you but that you haven't yet collected. The only examples I can think of off the top of my head are interest on a deposit, as in, "Interest is accrued daily and paid monthly", and vacation time or sick time, as in, "You accrue one and a half vacation days per month worked." (You don't necessarily have to take off one and a half days every month, but you accumulate the right at that rate.) Occasionally people use it to mean "accumulate" in a more general sense, like, "He accrued experience over the course of many years", but that's pretty rare.
I'm grasping for a general rule of when to use "collect" versus "accumulate". Perhaps "collect" has the connotation of selecting individual items, while "accumulate" is used more for an amorphous quantity. You "collect a debt" but you "accumulate wealth" -- the debt is specific but the wealth is general. You "collect fine china" but you "accumulate dishes". Etc.