In short, you should kill them because they take up space in your process list. And this is the more complex explanation:
The value 'max_user_connections' set by your webhost sets the amount of simultaneous connections to your database at the same time. For some hosts I've seen this as low as 3.Each user that visits your forum uses one connection, and these stay in the process list until the connection has ended and then they are terminated (there is something called persistent connections which keep your connection for longer, and someone clever might point this out, but they get more complex so I won't go there).
If the process list is full, then no more open connections will be allowed (they also vanish when apache is restarted). Sleeping connections generally are created when a PHP script connections to MySQL, does some stuff, and then doesn't get disconnected again after doing something that takes some time.
Essentially, 'sleeping' processes happen when you have a lot of connections to the database and they don't get disconnected. The basic idea to prevent this is to stop PHP processes from running for a long time, or to disconnect them from the database when they aren't used anymore.
There are other causes, such as the server load, which causes queries to take longer as the database server load increases, and this causes the process list to fill up.
Sleeping processes do nothing and block up the process list which prevents new connections (hence the "too many connections" error). These are a common problem on every webhost, and CMS, and is often dependant on how the hosting environment itself is configured rather then the CMS (such as the max_user_connections.
Hope this helps a bit.
chris [at] get-aura [dot] org