Why should we (or should we not) try to keep cryptographic algorithms secret?
In general, a secure cryptosystem should be secure because of the secrecy of they keys it produces, not because of the secrecy of its algorithm. Cryptographic systems are prone to mathematical flaws and collisions, these may only occur one in a million times, but they still occur and once they do, it may become clear how to reproduce the flaw on demand. It is almost impossible for an originization controlling a secret algorithm to perferm enough testing to ensure no colisions in millions of tries (SHA1 for example, was deemed relatively secure for years, then last year a number of collision points were determined, thus revealing a flaw). If the algorithm isn't public, its flaws cannot be exposed and is can often be assumed to be essentially insecure.
Why should we (or should we not) try to restrict the use of encryption by members of the public?
I am a firm believer that everything is crackable with enough time. The arguements against encryption for the masses often fall under governmental concerns about not being able to decrypt what criminals may use to protect their data. I dont believe that, let me pose a case in point. The NSA just purchased 65,000 opterons in quad proc box configurations a couple months ago. I highly doubt those are going into secretaries word processing machines. With that kind of power available, anything is crackable in days or at the most weeks by using parallel computing. Encryption should be allowed to private individuals for the same reason you are allowed to put a lock on your house. Its not to protect from the government, who will gladly knock down your door with a battering ram if they have cause, its to protect from your neighbor's 12 year old kleptomaniacial son who likes to steal your silverware.
Why should there be (or should there not be) a back door for law enforcement to crack all encryption permitted to the public?
There are very intelligent people out there, if there is a back door, it will be found or leaked. Either a disgruntled former employee will spread it, or it will just be found on its own. It's that simple, if a back door is in place for the government, its available to everyone else as well. That completely defeats the purpose of encrypting in the first place. Also, as mentioned above, anything is crackable with enough time, and with 60,000 opteron cores working in parallel, that time isn't going to be anywhere near the estimates. Encryption, no matter what bit you make it can't beat Moore's Law