Greg
Yes indeed BGP does maintain its own table. In that sense it is a bit simmilar to OSPF with its link state data base or EIGRP with its topology table, all of these maintain their own table of what they have learned and route information from their table may or may not be used in the routing table.
In the case of BGP there are several reasons why a prefix may be present in the BGP table but not present in the routing table: if it is an IBGP route there is the possibility that it may not satisfy the synchronization condition, or there may be issues with reachability of the next hop address, there is a possibility that a different route with a better administrative distance may exist, there may be other but this is enough to make the point about routes that may exist in the BGP table but not be used in the routing table.
HTH
Rick
HTH
Rick