I have read that reputation does not reflect technical skill. What is the purpose/meaning of reputation then? What do you mean when you vote? Isn't there any technical-skill overtone in your votes?
To the extent that the votes function "as intended", a person receives votes by asking questions and supplying answers which are deemed useful.
In practice, votes applied by human beings with their own motives and ideas, and so individual votes vary in meaning so much that no overall intent can be applied to voting as a whole. This is why it's often said that reputation is meaningless.
At a baseline level, to receive votes, you have to participate. This doesn't mean participation guarantees votes, but it does mean that the more you participate, the more likely you are to receive votes.
Therefore, votes are a very rough measure of participation. This is why reputation threshholds are used to limit access to more advanced features of the site, such as editing and moderation tools. By earning reputation, you demonstrate that you have participated enough to understand how these are supposed to work.
However, the system is far from perfect. It's a work-in-progress.
There is an small aspect of technical skill, and a large aspect of community involvement.
You could ask a lot of questions, and not be very skilled. Also, you may be very skilled in a technical area that is not common/popular and just because of the size of the user group, you may not get a lot of points.
Votes are the currency used to establish trust by the SO software.