For some projects there is discrepancy found between values at the Team Status page for Capacity (hours) per iteration on UI and WSAPI UserIterationCapacity.
Apparently there are tasks which used to be in the project and assigned to one particular user. This user is one of the ones who has a capacity showing up in WSAPI, but not on the Team Status page.
The capacities only show up on Team Status for team members and people who own a task in the project/iteration therefore you might want to use TaskEstimates which is a field on UserIterationCapacity to see whether the user has any tasks - that way for past iterations you could filter out capacities which don't really apply.
Any user that is shown on the Team Status page is either a team member, or has a task - and capacity can be entered for either user. Once the capacity has been added, if they do not have tasks and are removed as team members, they are removed from the status page, but the capacity entered remains and is picked up in their WSAPI query. If they make the users Team Members again, you will see them on the Team Status page and be able to match the numbers up.