Rudin defines a partition of an interval [a,b] to be a finite set of points $\{x_i: 0\leq i \leq n\}$ such that:
$$ a = x_0 \leq x_1 \leq ... \leq x_n = b $$
Is there some reason why we allow for the possibility of two cut points being equal to each other? It seems strange to me because sets aren't supposed to contain duplicates.
Rudin's definition of a partition $P$ of $[a,b]$ is a bit imprecise. He says it is
What does this mean?
Interpretation 1.
Rudin means a finite sequence $P = (x_0,x_1,\ldots, x_n)$ of points of $x_i \in [a,b]$ such that $a = x_0 \le x_1 \le \ldots \le x_{n-1} \le x_n = b$. This is indeed the standard definition of a partition though usually one requires $a = x_0 < x_1 < \ldots < x_{n-1} < x_n = b$. Thus Rudin allows more partitions than other authors, but this is irrelevant.
In fact, each "increasing partition" $P$ gives us a "strictly increasing partition" $P_s$ by removing all duplicate entries from $P$ and we obviously get $$U(f,P) = U(f,P_s),\\ L(f,P) = L(f,P_s).$$
Therefore the values $\overline\int_a^b fdx$ and $\underline\int_a^b fdx$ are independent of whether we work with increasing or strictly increasing partitions.
Interpretation 2.
Rudin means a finite subset $P \subset [a,b]$ such that $a,b \in P$. Then we have a unique roster-representation of $P$ as $$P = \{x_0,\ldots,x_n\} \text{ with } a = x_0 < x_1 < \ldots < x_{n-1} < x_n = b .$$ Working with this notation does not allow duplicates. But we can also work with non-unique roster-representations of $P$ as $$P = \{x_0,\ldots,x_n\} \text{ with } a = x_0 \le x_1 \le \ldots \le x_{n-1} \le x_n .$$ It depends on your taste which you prefer, but personally I would never use non-unique roster-representations.
Both interpretations are of course equivalent. Each finite sequence $(x_0,x_1,\ldots, x_n)$ gives us the finite set $\{x_0,x_1,\ldots, x_n\}$, and each finite set $\{x_0,x_1,\ldots, x_n\}$ (where the elements $x_i$ are written in ascending order) gives us the finite sequence $(x_0,x_1,\ldots, x_n)$.
I seems that Rudin works with the set interpretation. This becomes clear in Definition 6.3 where he says that $P^*$ is a refinement of $P$ if $P^* \supset P$.