Hmm, let's see. It does a lot of moderatory things, but general readery things include highlighting stories or commments and jumping to related pages (e.g. the story url, the thread url, the user's profile page, the user's comments page, other stories from that domain), opening and closing those tabs; navigating up and down comment trees (go to parent, go to prev/next sibling); marking stories or comments as 'seen' and thus hiding them, but keeping track of whether 'seen' items have changed and displaying how they changed; finding comments that match regexes and highlighting the matches; if a comment contains a url, open that url in a new tab; jump around between open tabs; go to the root url of a comment (i.e. the original story item); select text and open tabs based on that text; show HN search results in the form of an HN story list that looks like the front page; take various actions based on what's in the clipboard, or copy HN urls or titles to the clipboard; filter stories or comments being displayed according to various criteria; upvote or flag a post; go to the internet archive for a url; show the current rank of a story on pages other than the front page; request the 'more' url at the bottom of a page and inline its results instead of navigating to it. Edit: I forgot one of my favorites, which is aligning the current selection to the center, top, or bottom of the window, a la ctrl+L in Emacs.
It's all done by keyboard shortcuts, which means the mapping to keys is pretty complicated and not as consistent as I'd like.
Edit: It's also written in a Lisp we made that only three of you have ever heard of :)