There is a version of DAOPHOT available for Python too – I always found IRAF as user friendly as a punch in the mouth and poorly debugged. The Python DAOPHOT seems to work okay for me. The major difference over the Fortran version is that it doesnt handle a bad pixel mask. Execution times similar (having no bad pixels to worrry about makes life lots easier).
I must admit I was under the impression DAOPHOT assumes a Gaussian profile so it can get unhappy with distorted images – theres a parameter for limiting how eccentric it will tolerate.
I did a quick study a year or two back and looked at Source Extractor, PISA and DAOPHOT. Each had its quirks. DAOPHOT was primarely aimed at stars while Source Extractor and PISA could do both stars and galaxy photometry. Source Extractor was very good but the documentation a little incomplete and PISA was by far the most memory efficient. When the source was star shaped they all did similarly in terms of the detections, but Source Extractor could use the WCS (I don’t think PISA did, but I might be wrong). Bottom line was they all had efficient detection approaches and if you already had code to handle the pixel space coordinate to Ra/Dec conversion, each was well worth having.