A question doesn't have to be good, or even particularly clear, to have good answers. However, when a question has good answers, that suggests there may be something good about the question.
Furthermore, if a question is not clear or lacks detail, but you are able to answer it, then often (not always) one or both of the following apply:
- You requested clarification, or more information, from the OP and it was provided.
- You were able to edit the question for clarity (or maybe all that was needed was to fix some formatting).
Then the answer is likely good enough to merit an upvote, even if it wasn't when it was first posted.
For these reasons, it makes sense that you would upvote many or most questions that you answer. You should still be willing not to do so, of course. You should even be willing to downvote a question that you answer, but (except on meta, where votes have a broader range of meanings) that's a somewhat unusual situation.
As others have said, being able to answer a question doesn't mean the question deserves an upvote. So the system should definitely not automatically cause you to upvote. Furthermore, often a bad question receives multiple answers because what it is asking is unclear, or because previous answers didn't get it right because there wasn't enough information. So under some circumstances, automatic (or unthinking) upvoting of questions you answer can actually incentivize bad questions.
Finally, the most common reason for me not to upvote a question that I've answered--or not to upvote it immediately--is that I've already used all my votes for the day, and thus cannot do so. A related limitation applies to new users, who cannot cast votes at all, but can post answers. I thought the first question I ever answered deserved an upvote, but I was not able to cast one until I had gained the necessary reputation.