\( \def\naturals{\mathbb{N}} \def\ints{\mathbb{Z}} \def\rationals{\mathbb{Q}} \def\reals{\mathbb{R}} \)
At least some of the controversy regarding $0$ is due to the fact that the number $0$ was a relatively late entrant to the pantheon of numbers, and is, in some sense, not natural (one elephant differs from one cat, but how do zero elephants differ from zero cats?).
Formally, the natural numbers are defined as set of numbers, starting at 0, such that every number has a unique successor, and every number other than zero has a unique predecessor. The set of naturals is generally denoted by the symbol $\naturals$.
From the set theoretic perspective, every natural number is defined as a set, and $\naturals$ is actually a set of sets. The definition starts with the definition of $0$, and a successor function which defines the successor of every number as $S(x) = x \cup \{x\}$.
We begin by defining $0$ as the empty set, since $0$ represents the total absence of anything. The rest of the numbers can be defined as follows. Note that the construction of $1$ utilizes the fact that for any set $X$, $X \cup \emptyset = X$. \[ 0 = \{\} \\ 1 = 0 \cup \{0\} = \{\{\}\} \\ 2 = 1 \cup \{1\} = \{1, \{1\}\} = \{\{\},~\{\{\}\}\} \\ 3 = 2 \cup \{2\} = \{2, \{2\}\} = \{\{\},~\{\{\}\},~\{\{\{\}\}\}\} \\ \cdots \]
If the above looks too abstract, the following definition, which is exactly the same as the one above, just written slightly differently, should be more understandable. \[ 0 = \{\} \\ 1 = 0 \cup \{0\} = \{0\} \\ 2 = 1 \cup \{1\} = \{0, ~1\} \\ 3 = 2 \cup \{2\} = \{0, ~1, ~2\} \\ \cdots \\ n = \{0,~1, ~2,\cdots,~n-2,~n-1\} \]
Although we understand natural numbers intuitively, in order to define them formally their properties must be specified. A variety of different mathematical definitions were proposed by mathematicians, but the one we currently use is based on a set of axioms proposed by Giuseppe Peano, and referred to as Peano's axioms or Peano-Dedekind axioms (after Peano and German mathematician Dedekind).
The axioms proposed by Peano are as follows:
In his original postulates Peano defined $1$ as the first natural number, and not $0$, but this has since been updated. Peano also included other axioms defining equality (=), which are not not considered part of the basic set of axioms.
Peano defined induction slightly differently from above. We will revisit that topic later.
The addition operation $+$ on the set of naturals is defined as follows. \[ n + S(m) = S(n+m)~~{\rm for~all} ~n,m \in \naturals, \]
where $S(m)$ is the successor function defined earlier. We also define an additive identity element, namely $0$, such that $n + 0 = n$ for all $n$.
We define $1$ as the successor of $0$, i.e. $S(0) = 1$. Thus $n + 1 = n + S(0) = S(n + 0) = S(n)$. Thus $n+1$ is the successor $n$. Note that is is in fact a derived rule.
The multiplication operation $\times$ on the naturals is defined as follows. \[ n \times 0 ~=~ 0 ~~ {\rm for~all}~n \in \naturals,\\ n \times S(m) ~=~ n\times m+n ~~ {\rm for~all}~n,m \in \naturals. \]
The above definition can be shown to result in the well-known result that $n\times m = n+n+n+\cdots+n$ ($m$ times).
$\naturals$ has an additive identity element $0$, such that for all $n \in \naturals$, $n + 0 = n$.
$\naturals$ has a multiplicative identity element $1$, such that for all $n \in \naturals$, $n \times 1 = n$.
Note that we have not discussed subtraction and division. Subtraction requires defining the integers, while division will lead to the rationals.
An order relation $\le$ can be defined as follows: $n \lt m$ if and only there is some $l \in \naturals$ such that $l \neq 0$ and $n + l = m$. Under this order relation, $\naturals$ is a well-ordered set. Recall that a set is well ordered if it is has the following properties: (a) it is totally ordered, i.e. for any pair of elements $n$ and $m$ one of three conditions applies: either $n \lt m$, or $m \lt n$, or $m = n$, and (b) every subset has least element.
We will ignore the rather intricate maths that goes into defining the ordinal numbers, but use the informal (but mathematically inaccurate) definition of ordinal numbers: they are just the well-ordered extension of the natural numbers. Ordinal numbers are used to order things, as opposed to counting them.
There are in fact several ways of ordering $\naturals$, but only one way of obtaining a well order, and that is the one we're familiar with. This results in the ordinal numbers.
By construction, larger ordinal numbers contain the smaller ones. This is obvious from our earlier definition of natural numbers: we note that if $m \lt n$, $m \subset n$.
Cardinal numbers are the numbers used to count things. Formally, they are an extension of the natural numbers that is used to enumerate the size of sets.
Two sets are said to have the same cardinality if there is a one-to-one (bijective) map between the two. A set with a larger number of elements is said to have a larger cardinality than a set with a smaller number.
These are only informal definitions of order, but will suffice for our purpose.