I used to work at a cash cage in a casino. They teach you all there is to know about detecting counterfeits. I've never taken one, but I HAVE had people try to pass one on me at least 20 times. The most common is a $5 printed to look like a $50. I put it on a lightbox and what do ya know, there's a watermark of honest Abe Lincoln.
Many attempted to blame theme passing the fake bill to me with "I just got it from a kiosk" (change kiosk at the casino" or "I just got this from a change attendant".
People like this are obviously very stupid. The number of times money is counted at casinos and checked for authentication is crazy. And money counting machines will TELL you if it's fake! I've seen it happen. Someone puts in a $100 to test it, and it counted it as a $1. Why? Because it was.
Of course, some people are lazier then others, and the quality of the print is so bad that it looks pixilated.
The pen method isn't highly accurate. It's only looking for authentic U.S. mint paper. If a counterfeiter bleaches out say a $5 bill, and reprints an image of a $50 over it, it'll pass the pen test, because it's technically on U.S. mint paper.
As a casino, it was our policy to keep all attempted passes of a counterfeit bill and submit them to the F.B.I. You should see/hear the reactions of people when I tell them I can't "give them their money back". One lady started crying because she claimed it was all she had. (Then why was she at a casino?) It can get really uncomfortable really quick.
You need to look for microprinting (which is almost impossible to reprint and make it readable), water marks, color shifting ink and security bars, among other things. These are all in U.S. currency, and have been in one or more forms for a long time.
Exception: What's scary to take if you are a cashier is the OLD style bills where the president's face is in a small oval and they are centered on the bill. These have NO watermarks or security bars, so if a counterfeiter bleaches out a $1 bill and prints a $100 over it, the only way to really detect it is when a keen eye. The safest way to avoid getting scammed with these if you aren't sure is to either tell them your business doesn't accept bills of $100 or higher, or that you don't have enough change in the register yet. I don't want to condone lying to customers, but it could save you your job.