Difference between cordic algorithm and table based methods for elementary functions computation
By reconfiguring the adders between registers slightly, the basic CORDIC hardware can compute rotations, inverse rotations, reciprocals, and a whole bunch of others. As there are few coefficients, the algorithm can be laid out from multiple iterations using serial registers (very slow and very small) to multiple ranks of wide registers in a pipeline (one result per system clock cycle, big and fast) and all tradeoffs in between. 

Throwing a few more bits on for extra accuracy is straightforward, it takes another cycle per bit, and a linear increase in coefficient and working storage. Doing the same with a table based approach could require a polynomial increase in the size of the tables.

These days when most FPGAs have dedicated multipliers, the decision which to employ might often be taken by what mix of resource you have left nearing the end of the design. If there are some spare multipliers, then use Taylor series or similar because more people know about that and it's easy to synthesise. If none then implement CORDIC in the fabric.