Why do we program computers?
Think of when you first programmed, whether it was a Basic program that greeted you by name or a spreadsheet macro. Do you remember the thrill of running that program and seeing it produce output?
In those days, it was probably rewarding enough that the program responded at all. Even better if the output looked reasonably correct. Unless we're programming for out own amusement, though, we must move beyond that starting point.
We program because we want the computer to do something for us. We may want to automate a repetitive task, to perform some long, time-consuming calculation, or to enhance our abilities across time and distance.
We program because we want the correct answer. Sure, in some cases there may be discussion on how correct or close enough, but we certainly don't want it to be wrong.
We program because, in spite of all the programs that have been previously written, we always seem to want one more thing, one more bit of functionality, or combination of existing functionalities, or presentation of functionality, than we already have. It's a never-ending quest, and will be so for as long as there are people.