QMK has a staggering number of features for building your keyboard. It can take some time to understand all of them and determine which one will achieve your goal.
Advanced Keycodes - Change layers, dual-action keys, and more. Go beyond typing simple characters.
Audio - Connect a speaker to your keyboard for audio feedback, midi support, and music mode.
Auto Shift - Tap for the normal key, hold slightly longer for its shifted state.
Backlight - LED lighting support for your keyboard.
Bluetooth - BlueTooth support for your keyboard.
Bootmagic - Adjust the behavior of your keyboard using hotkeys.
Combos - Custom actions for multiple key holds.
Command - Runtime version of bootmagic (Formerly known as "Magic").
Debounce API - Customization of debouncing algorithms, and the ability to add more/custom debouncing.
DIP Switch - Toggle switches for customizing board function.
Dynamic Macros - Record and playback macros from the keyboard itself.
Encoders - Rotary encoders!
Grave Escape - Lets you use a single key for Esc and Grave.
Haptic Feedback - Add haptic feedback drivers to your board.
HD44780 LCD Display - Support for LCD character displays using the HD44780 standard.
Key Lock - Lock a key in the "down" state.
Layouts - Use one keymap with any keyboard that supports your layout.
Leader Key - Tap the leader key followed by a sequence to trigger custom behavior.
LED Matrix - LED Matrix single color lights for per key lighting (Single Color, not RGB).
Macros - Send multiple key presses when pressing only one physical key.
Mouse keys - Control your mouse pointer from your keyboard.
OLED Driver - Add OLED screens to your keyboard.
One Shot Keys - Sticky Keys, lets you hit a key rather than holding it.
Pointing Device - Framework for connecting your custom pointing device to your keyboard.
PS2 Mouse - Driver for connecting a PS/2 mouse directly to your keyboard.
RGB Light - RGB lighting for your keyboard.
RGB Matrix - RGB Matrix lights for per key lighting.
Space Cadet - Use your left/right shift keys to type parenthesis and brackets.
Stenography - Put your keyboard into Plover mode for stenography use.
Swap Hands - Mirror your keyboard for one handed usage.
Tap Dance - Make a single key do as many things as you want.
Terminal - CLI interface to the internals of your keyboard.
Thermal Printer - Connect a thermal printer to your keyboard to be able to toggle on a printed log of everything you type.
Unicode - Unicode input support.
Userspace - Share code between different keymaps and keyboards.
Velocikey - Allows changes in RGB animation speed based on WPM/Typing speed.