A character is a continuous group homomorphism $(G,+)\to\Bbb T$ (with $\Bbb T\subset\Bbb C^\times$ the circle group).
The dual group $\widehat{G}$ is the space of all characters on $G$ equipped with pointwise multiplication.
Let $\psi$ be a character of $\Bbb Z_p$. Since $\Bbb Z\subset\Bbb Z_p$ is dense, the values $\psi(\Bbb Z)$ determine $\psi$, and as $\Bbb Z=\langle 1\rangle$ this in turn means that $\psi$ is determined by $\psi(1)$. Since $p^r\to0$ in $\Bbb Z_p$, the values $\psi(p^r)=\psi(1)^{p^r}$ must converge to $\psi(0)=1$. If $\psi(1)$'s complex phase were not of $2\pi\Bbb Q$, then $\psi(1)^{p^r}$'s phase would never settle down - furthermore it must be $p$-torsion mod $2\pi$ to settle down, so $\psi(1)$ is some $p$-power root of unity. Thus $\widehat{\Bbb Z_p}\cong\Bbb Z(p^\infty)$ via $\psi\leftrightarrow\psi(1)$ (with $\Bbb Z(p^\infty)$ the Prüfer $p$-group).
(KCd has a nice related blurb on the character group of $\Bbb Q$, which motivates the adeles.)
Note this is analogous to $\Bbb Z$ and $\Bbb R/\Bbb Z$ being a dual pair, in view of the fact $\,\Bbb Z(p^\infty)\cong\Bbb Q_p/\Bbb Z_p$.
The group $\Bbb Z(p^\infty)$ can be thought of as $\Bbb Z[p^{-1}]/\Bbb Z$ under addition, so every element of the Prüfer group may be represented by the rationals expressible finitely as $0.\square\square\square\cdots\square$ in base $p$.
The topology of $\Bbb Z_p$ is that of a (countably infinite depth $p$-ary rooted) "tree": draw a point, then draw $p$ child nodes from that point, then $p$ child nodes from that point, and so on. The $p$-adic integers will be all "leaves" (infinite paths through the tree from the root). The metric balls are obtained by picking a node on the tree and collecting all leaves that run through that node.
(More on this in the note pictures of ultrametric spaces.)
An equivalent way of representing the topology of the $p$-adics is used here. Draw one big ball, then draw $p$ balls inside, then draw $p$ balls inside each of those, and so on indefinitely. To select an integer from $\Bbb Z_p$, make an infinite sequence of selections of these balls, one choice representing each digit of $\Bbb Z_p\ni x$'s $p$-adic expansion. In your picture, the gray nest of balls represents $\Bbb Z_3$.
A number of three-adic integers are chosen from the gray urn, and correspond to colored circles wreathed around the outside. Each one of these outer colored circles represents the Prüfer $3$-group, in particular each "leaf" is an element. The biggest leaves are $0/3,1/3,2/3$ and the second biggest leaves are $1/9,2/9,4/9,5/9,7/9,8/9$ (so basically the rationals $k/9$ with $0\le k<9$ not counting the ones already listed, $0/3,1/3,2/3$). The $r$th biggest leaves correspond the the rationals expressible as $0.\square\cdots\square$ with $r$ digits in base $p$, not already listed (i.e. with last square nonzero).
The idea of "duality" is not only do elements of $\Bbb Z(p^\infty)$ act as characters on $\Bbb Z_p$, but conversely elements of $\Bbb Z_p$ act as characters on $\Bbb Z(p^\infty)$. To each $p$-adic integer $x\in\Bbb Z_p$, the colors of the leaves $a\in\Bbb Z(p^\infty)$ (on the associated circle outside) correspond to the value of $x$ applied to $a$ as a character, which will always end up being a $p$-power root of unity (as seen above).