In the basic use of these both action (without any non-mandatory attributes), the <c:url> action rewrite the url given in the attribute value and write it into the current Print Writer. That is the page is not redirected to the given URL.
In case of <c:redirect> the page is actually redirected to that URL.
In my installation, I am using JSTL 1.1. Though in the specs it is specified that the value attribute is mandetary, the <c:redirect> takes the url attribute instead of value. The value attribute is invalid in <c:redirect>