What does gitlab-ctl reconfigure do specifically?

Just looking to get some more in-depth knowledge on how things work behind the scenes, but the help menu isn’t very informative and the output when running the command is a little hard for me to understand.

Am I correct in thinking that it’s similar to systemctl restart service, in that it just reloads gitlab with any changes made to configuration? Or does it actually do something when no changes have been made?

No, it’s nothing to do with systemctl or restarting Gitlab.

gitlab-ctl reconfigure is for reconfiguring Gitlab when changes have been made to /etc/gitlab/gitlab.rb configuration file.

Sometimes after upgrades, if problems with services not restarting or something or Gitlab not behaving properly, the upgrade docs mention running reconfigure to see if it helps fix the problems.