Write a "code" for your choices, to make it easier to keep track of them.
Let's say you need to choose $k$ numbers from among $1,2,\ldots,n$, with repetitions allowed. We will "code" each choice in a way that corresponds to choosing without repetitions from a larger collection.
Namely, when we have a choice, let us first agree that we will write the digits in nondecreasing order. So for your set for choosing two from among $1,2,3$ (corresponding to $A,B,C$), we would write
$$11, 12, 13, 22, 23, 33.$$
Now, let us add $0$ to the first digit, $1$ to the second digit. So we will code the six choices above as
$$12, 13, 14, 23, 24, 34.$$
respectively.
Note that under this code, the first digit must be among $1,2,3$; the second digit must be among $2,3,4$, and there is no repetition. So we are always choosing two digits from among $1,2,3,4$, without allowing repetition, and where the order does not matter.
Conversely, suppose you choose two digits from among $1,2,3,4$, without repetition. Now list them in order. The possibilities are:
$$12, 13, 14, 23, 24, 34.$$
Note that the first digit must be between $1$ and $3$; the second must be between $2$ and $4$. Let us convert each of these two digit numbers into a two digit number in which all digits are among $1,2,3$, allowing repetition, by leaving the first digit as-is, and subtracting one from the second digit. That makes these six choices correspond to
$$11, 12, 13, 22, 23, 33.$$
So making a choice of two digits from among $1,2,3$ allowing repetition and where the order is irrelevant, is equivalent to making a choice of two digits from among $1,2,3,4$, without allowing repetition and where the order is irrelevant. Thus, the number of ways of choosing twice from among $1,2,3$ allowing repetition and where order does not matter is the same as the number of ways of choosing twice from $1,2,3,4$ without allowing repetition and where order does not matter.
More generally, if we are trying to make $k$ choices from among $1,2,3$ allowing repetition (and where order does not matter), we can "code" any such choice by listing them in nondescending order, and adding $1$ to the choice, $2$ to the third choice,... and $k-1$ to the $k$th choice. This will give a sequence of $k$ numbers chosen from $1,2,3,3+1,\ldots,3+(k-1)$, without repetition, where order does not matter. That is, the count is
$$\binom{3+(k-1)}{k} = \frac{(3+(k-1))!}{k!(3-1)!}.$$
The $k!$ is really because the order in which we make choice does not matter, and the $\frac{3+(k-1)!}{(3-1)!}= \frac{(3+(k-1))!}{\bigl(3+(k-1) - k\bigr)!}$ is the usual count for choosing $k$ times from among $3+(k-1)$ possibilities without replacement, where order matters.
If instead of starting with $3$ choices you start with $n$ possible objects, $A_1,\ldots,A_{n}$, the same kind of coding means that each choice of $k$ objects with repetitions can be "coded" with a choice of $k$ objects from among $n+(k-1)$ possibilities without repetitions, by associating to the list
$$A_{i_1},A_{i_2},\ldots,A_{i_k}$$
where $1\leq i_1\leq i_2\leq\cdots\leq i_k\leq n$
with a choice from among $A_1,\ldots,A_n,A_{n+1},\ldots,A_{n+(k-1)}$ via the list
$$A_{i_1},A_{i_2+1},A_{i_3+2},\ldots,A_{i_k+(k-1)}.$$
To choose $k$ from among $A_1,\ldots,A_{n+(k-1)}$ without repetition and where order matters, we get
$$(n+(k-1))(n+(k-1)-1)\cdots (n+(k-1)-(k-1)) = (n+k-1)\cdots (n+1)(n)$$
and then we divide by $k!$ to account for the fact that the order doe snot matter. So we get
$$\frac{(n+k-1)\cdots(n+1)(n)}{k!} = \frac{(n+k-1)!}{(n-1)!k!} = \binom{n+k-1}{k}.$$