The rules of bitcoin, much like the rules of a board game, are fixed. In board games, there is an instruction booklet that tells you what the rules are, and anyone not adhering to the rules is breaking them, which is known as cheating.
Bitcoin's rules were laid down by Satoshi Nakamoto, its inventor, and its rules are enforced by each player (node). Nodes check if the blocks are constructed according to the rules of Bitcoin, and punish miners who construct cheating blocks.
Having played Catan quite a bit, I've found that some people enjoy playing with house rules. Some people feel that every player should start with at least one of each resource, for example. These rules can be enforced by the whole group, as if they were in the instruction manual.
The same is true for bitcoin. Some people feel that the Bitcoin protocol is better suited by having small additions to the rules, or notable omissions. These people are free to write their own software, which enforces their own rules on Bitcoin.
Some are just translations of the bitcoin instruction manual to another language. Some aim to change fundamental parts of the protocol, such as the btc1 nodes, or Bitcoin XT nodes.
edit: The most-used client is bitcoind, which is the command-line interface of "Bitcoin Core". Due to the fact that a majority of people are using this client, it dictates the current consensus rules (the rules of the game), and other clients either adhere to it, or risk getting "forked".
Node software has been politicized these past few years. This is a different topic altogether, and I recommend you google "the bitcoin scaling debate" for a primer.