In Aperture 3, Why need option 'detect missing faces'? why not recognise them all in the first scan? each time i import images, some faces are detected instantly and automatically, but I have to run detect missing faces one time more to find other recognizable faces. Note: they are all auto-recognition without manual input.  why possibly does aperture apply such mechanism?
The detect missing faces is very useful for when Apple makes changes to the way that faces are detected. Perhaps they changed or tuned it to avoid marking hub caps on sporty cars as faces or added better filters for cats and dogs.

People that imported pictures before these changes may need to ask Aperture to go back and check. 

This second part is pure speculation - I have no idea if the import does a full check or if the detect is somehow more careful or applies extra checks.

If some of the checks take longer to process, it might make sense to to a quick check on import. I have never been unhappy with the initial scans - so I can't really say for sure.

It will be hard for you to tell if your library needs rebuilding or if it's just how aperture currently works without testing your images on a different machine with a clean library. If you feel your library isn't working correctly, you could try making a new library to test or rebuilding your library. Do consider making some good backups, because when a library is damaged, rebuilding it can erase bad data and you could lose some pictures. It's designed to not do that, but once things break a repair could cause you to finally see the files that were lost as part of the damage.