Look at the example in the User Manual: http://doc.cgal.org/latest/Triangulation_2/index.html#title29
You must distinguish between faces in and outside of the polygon.
When you have a face handle you can get the three neighbor faces with the function neighbor(i) for i = 0, 1, and 2
See: http://doc.cgal.org/latest/TDS_2/classTriangulationDSFaceBase__2.html