The difference is simple. Both guns have cannister ammunition, which is exactly the same for both (I've seen the scripts!), but cannons have (surprise!) cannonballs, while howitzers have grenades.
Cannonballs are very accurate, black (so it's easy to trace them and adjust your aim), and penetrate as many units as they face on their way. When a cannonball hits ground, it bounces, which allows it to kill even more soldiers.
Grenades explode on contact with anything, dealing AoE damage, and send some cannister shots around randomly, presumably to simulate grenade shrapnel.
But the most important difference between grenades and cannonballs is in their accuracy. The latter always fly exactly same way if you aim the same way, while the former seem to have some sort of deviation, and trajectory of cannons is a bit more flat. Also grenades have limited range, sometimes it is possible that you will not be able to hit the enemy at all, and his cannons will hit you.
Because of all that, cannons have more reliable aim, which makes most players I know prefer cannons over howitzers. Cannons are easier to master and more predictable. Because of their different trajectory, you will also actually need to choose only one gun to polish your skills with: unless you are a hardcore artillery player, it's very hard to master both and not have a mess in judging distance.
In Commander Battle or large event battles, grenades are better used against loose formations and blobs due to their AoE, while cannonballs excel against large lines, especially if you happen to flank them. Anyway, cannon still seems to be more stable and versatile: it's better to fire 20 successive shots that kill 1-2 enemies than fire 20 grenades with only one actually hitting something, even if it kills as many as 6 or 8 men. A grenade is hardly useful against a skirmish line, while a cannonball still works perfectly against a blob.
That's it -- nothing else.