Each NPC has their own requirements to arrive.
Merchant needs you to have collected 50 Silver Coins
Nurse needs you to have found a Crystal Heart
Demolitionist needs you to have found a Bomb or Dynamite
Arms Dealer needs you to have acquired a Musket (which is dropped from a Shadow Orb)
Dryad needs you to have killed a boss
Clothier needs you to have killed the Skeletron
After you meet the requirements for a certain NPC, he'll come shortly