Looking for the app rather than the comparison? Still Dock locks your Mac's Dock with switches instead of commands.
Short answer: Terminal is free and fine for your own Mac. A configuration profile is the only one that survives someone trying to undo it. An app is the same locks with a switch and an undo.
All three use the same underlying macOS settings. What differs is how you set them and how hard they are to reverse.
| Terminal | Profile | App | |
|---|---|---|---|
| Costs money | No | No | Yes |
| Locks size, position, contents, hide | ✓ | ✓ | ✓ |
| Survives a restart | ✓ | ✓ | ✓ |
| Survives someone undoing it | ✕ | ✓ | ✕ |
| Applies to all user accounts | ✕ | ✓ | ✕ |
| Tells you it is on | ✕ | ✓ | ✓ |
| Remembers your old settings | ✕ | ✕ | ✓ |
| Changing your mind | Retype the command | Remove in Settings | Flip a switch |
Four commands, one per lock:
defaults write com.apple.dock size-immutable -bool true; killall Dock
The others are position-immutable, contents-immutable and autohide-immutable. The full guide covers all four, including the fifth one people repeat that does nothing.
Good when: it is your own Mac, you know what you want, and you will not need to change it often.
The catches. Each lock is a separate command with an exact key name, and a typo fails silently with no error. Changing your mind means going back to Terminal. Nothing records what your Dock looked like before, so if you lock it at the wrong size there is nothing to return to. And System Settings goes grey with a message about a profile, which is confusing enough that people search for what went wrong months later.
A profile is what organisations use to manage Macs. It sits above user preferences, so it holds when a preference would not.
Good when: other people use the Mac. A front desk, a classroom, a shop display, a shared family machine.
The catches. You have to write the profile XML or use something that generates it. macOS asks you to approve each one. And it is deliberately harder to remove, which is the point but also the risk: it outlives the thing that installed it, so it must be removed on purpose in System Settings, General, Device Management.
An app sets the same macOS settings, with switches instead of commands.
Good when: you want to see what is locked, change it without looking anything up, and get your original setup back.
The catches. It costs money, and it is another thing running. What you get for that is visibility and reversibility: which locks are on, one click to change them, and a snapshot of the Dock you had before you locked it.
Still Dock is ours, and it is the app-shaped way to lock the Mac Dock. It does the four locks, adds a display pin and a Cmd Q guard that Terminal cannot do at all, and can install the profiles from point 2 without you writing XML.
Using more than one screen? The Dock also jumps between them, which is a separate problem with its own fixes: how to keep the Mac Dock on one screen.
A profile wins over a Terminal setting. If your settings are greyed out and undoing the commands changes nothing, look for a profile.
For the four locks, no, and we say so on the home page. Pinning the Dock to one display and guarding Cmd Q are different mechanisms with no Terminal equivalent.
The preferences and profiles normally carry across. Apple can change Dock behaviour in any release, which is true of all three approaches equally.
Run the size command. If freezing the size fixes your problem you may need nothing else. If you find yourself undoing and redoing it, that is your answer.