The best answer to your question really should cover two facets:
First: Whether or not the webserver should enforce a match on case.
- When posed like that, it seems
obvious -- no. You want the user to
get land on the content, regardless
of the case requested.
- Saying no, don't enforce case would
mean to allow case insensitivity.
Second: Given case insensitivity, how, then should you use case in your URIs?
The answer to the first facet of the question, IMO, is pretty obvious, and has already been discussed. You want to serve content, not error pages, so you should not configure your web server to enforce a matching case.
Then, the important considerations for the second facet of this topic would require consideration of SEO practices. The simplest answer would be to say, "BE CONSISTENT."
However, it's possible you have pages indexed by the SEs by different rules. One page or directory might have CamelCase, another has all lower case or Initialcapitalization. This is where to focus your energy...
First of all, decide upon a methodology.
Personally, I like everything to be all lower case. It bugs me sometimes when I see things like state codes (i.e. NY, FL, TX) in lower case, but it requires more effort on my part to have rules -- this is leading up to URL rewriting -- based on the specificity of the information conveyed by that part of the URI.
If you were to adopt the method of having everything as all lower case, then you can use a URL rewriter to rewrite URLs containing uppercase letters to lower case. There is a very important distinctions to make here:
Simply rewriting the mixed (or all UPPER) URI as an all lowercase URI does not provide the best possible solution. What you should do is actually 301-Redirect the URI to the proper style, not just rewrite it.
The 301-redirect should, in theory, decrease the percentage of URI requests that come in "incorrectly" because the 301 is telling the visitor (most importantly, SEs) to "update your records" so to speak.
People may debate upon all upper or all lowercase. Briefly, I'd suggest that all lowercase is a little easier to glance at and decipher, providing perhaps a little more readability than all uppercase. The reason for that is because lowercase letters have varying heights, some letters descend below the baseline (such as lowercase 'g'), some rise above the x-height (such as lowercase 'b'), or match the x-height (such as 'o'). In contrast, all CAPS tend to be more homogeneous in describing the space they occupy -- less variation means it requires a bit more effort to interpret, saying so lightly; you can't say the difference in effort is noticed.
Nevertheless, with all that said, my preference is to use all lowercase URIs in practice, and use a URL rewriter to rewrite (and redirect) the requests that do not conform.