The option -a of sysctl prints all available options as stated in the manual.
-a, --all Display all values currently available.
These options come from the built-in or loaded Linux kernel modules. Some if not all modules provide some variables that can be tuned via sysctl. The /etc/sysctl.conf includes the variables that have been changed. Any variable uses its default value when not changed.
Please, note that there are multiple files to load system parameters like files under /etc/sysctl.d/.
If you want to know whether a variable can be changed or not, you can look at the corresponding file under /proc/sys. Some files (variables) are read-only while others can be read and written.
Here is an example of one changeable variable (1st one) and one read-only (second) from /proc/sys/kernel/
-rw-r--r-- 1 root root 0 Apr 4 10:23 shmmax -r--r--r-- 1 root root 0 Apr 4 10:14 version