If you are not getting paid what YOU think you are worth then I suspect that there are a number of possible reasons.
The top two most obvious reasons are:
If the answer is “customers don’t think you are worth it” then this is because of one of the following reasons:
a) They don’t know you’re worth it (the obvious answer)
b) You’ve not proved that you are worth it
In either case, the answer is because of your lousy marketing.
More often than not (especially for professional service firms), the issue is not one of competitive price. Normally the customer is not comparing your service with another competitor on price. Often he is not comparing your service with another competitor at all.
A third possibility to answer why “customers don’t think you are worth it” would be:
c) You are not worth as much as you believe you should be.
And if the answer is the second response to my original question — “you are not asking for the right fee” — then you need to sort out the basic problem which was that “customers don’t think you are worth it”, and then ask for the right fee.