Most games published for human study are written in short algebraic notation. For each move, the destination square is always specified, the moving piece is specified unless it's a pawn (in which case the origin file is specified for captures only), and if there's any ambiguity the origin rank and/or file is given to resolve it. Captures are indicated by inserting 'x' before the destination square. Promotion is indicated using eg. "=Q" suffix. Additional suffixes are used to indicate check, mate, and move quality.
Long algebraic notation is just like the above, except that the origin square is always exactly specified, and usually a '-' is inserted in place of the 'x' for non-captures. So Re1 might become Ra1-e1. The same suffixes are used, and castling is still specified using O-O type notation.
English descriptive notation is somewhat more arcane, and may specify only the piece identities if the resulting move is unambiguous, eg. RxB. It is now considered obsolete, though you might find it in old literature. I don't think it is used in any engine protocols. The same goes for foreign-language piece name abbreviations, eg. German chess uses Springer (S) instead of Knight (N).
The UCI protocol uses none of the above notations, but merely specifies the origin and destination squares; the only suffix is a single letter to disambiguate pawn promotions. So exd8=N in short algebraic would become e7xd8=N in long algebraic, but e7d8n in UCI (all in lowercase). Castling is specified by moving the king two spaces (in standard chess) or onto the corresponding rook (in 960) instead of in shorthand notation.