Let $S_\ge = \{\langle M \rangle \mid |L(M)| \ge 10\}$. You can prove that it is Turing-recognizable by applying the definition directly. The following algorithm terminates on machines in $S_\ge$ and runs forever on machines that are not in $S_\ge$:
- For $k = 0,1,2,\ldots$:
- Let $c := 0$
- For every string $w$ of length at most $k$:
- Run $M$ on the input $w$ for at most $k$ steps. If $M$ halts, increment $c$.
- Terminate if $c$ reaches $10$.
If this algorithm terminates on a machine $M$, then it has run $M$ on 10 string on which $M$ terminates. Conversely, if $M$ is in $S_\ge$, then take 10 strings that it accepts, let $k_1$ be their maximum length and let $k_2$ be the maximum number of steps that it takes to accept one of them; the algorithm above terminates with $k \le \max\{k_1, k_2\}$.
This algorithm only proves recognizability, not decidability, since it'll go on forever on machines that don't accept at least 10 strings. This doesn't prove that $S_\ge$ is not Turing-decidable: there could be another algorithm that works. A straightforward application of Rice's theorem does prove that $S_\ge$ is not Turing-decidable.
Now let's look at $S_\le = \{\langle M\rangle \mid |L(M)| \le 10\}$. Note that $S\le \cup S_\ge$ is Turing-decidable: it's the set of all machines. And $S_\le \cap S_\ge = \{\langle M\rangle \mid |L(M)| = 10\}$ is not Turing-decidable, by Rice's theorem.
If $S_\le$ was Turing-recognizable, then $S_\ge \cap S_\le$ would be Turing-decidable by the following algorithm:
- Run the recognizer for $S_\le$ and the recognizer for $S_\ge$ in parallel, doing one step of each at a time. Terminate if one of the two terminates.
Since every input is recognized by one of the two recognizers, this process terminates on all inputs, so $S_\ge \cap S_\le$ is decidable. But we saw abov that it isn't. So $S_\le$ cannot be Turing-recognizable and $S_\ge$ is not Turing-decidable.