Let's say you're working with another engineer. He's being const-correct, and you aren't. Then his function (which takes a const array as a parameter) calls your function to print it out---but he gets a compile error, because he can't pass his const array to your function expecting a non-const array.

That is the basic problem: As soon as you start using const a little bit, you have to use it everywhere, or you run into trouble. You can't do things in half measures.

So why use it at all? Well, why not. Using const has several advantages:
1) It's a form of self-documentation, letting users of the code (who aren't you) know something about the semantics.
2) It's an easy way to increase compile-time checking. You always want your errors to be caught at compile time rather than runtime if at all possible, and const is a trivial means of helping out with that.
3) In a few very specific cases, it can help the compiler do a better job of optimizing your code. Since the programmer is able to bypass const-ness, this isn't as big a factor as it could be, however.