the cannon is worth less because it has capture conditions that the rook doesn't have. Of course, it is much better than a chariot in some cases! I would say a soldier having crossed the river is worth more than an advisor or elephant because it isn't constrained into path movement.
Also, NO WAY a horse is worth the same as a cannon. You can take a horse with a cannon straight off from the starting position, but it is a very bad move to do so.