A 2-hour layover is often not enough for an international-to-domestic connection in the USA, although it is usually fine for domestic-to-domestic transfers. When arriving from an international location, you must clear U.S. Customs and Border Protection (CBP), retrieve your checked luggage, and then re-check it before passing through TSA security again for your domestic leg. This process can be incredibly unpredictable; a long line at immigration or a delay in baggage delivery can easily take over 90 minutes. If you are a member of Global Entry and have TSA PreCheck, you might make it in 2 hours at a smaller or more efficient hub, but at massive airports like JFK, LAX, or Chicago O'Hare, a 3-hour window is much safer to account for potential delays and the long walking distances between international and domestic terminals.