Theoretical computer scientists both design algorithms and prove their correctness and running time. For some algorithms, the correctness and running time are evident, while others require proof.
For the latter, without a proof it's hard to know whether the algorithm actually does what it should.
There are countless examples of small subtleties in algorithms that make enormous differences for performance (e.g., take a look at union-find data structures in CLRS).
An alternative could be running the algorithm and experimenting with it.
This is often an excellent first step when you try to figure out if you actually have a good algorithm or not.
Experimenting is especially useful when a rigorous analysis seems hard, or when you're still trying to figure out the exact formulation of the algorithm's task (e.g., think of the Netflix challenge, where you want to recommend movies to users given data about their history. It's not even clear what it is exactly that you want your algorithm to do).
Ultimately, though, a clear understanding of what the algorithm guarantees is sought after, and for the most part, you need a proof for that.