All other Russian vowels come in pairs, but this pair seems a bit special. So, how does one pronounce ы and и?
All vowels in Slavic languages come in three varieties: open, closed and iotized (closed following the palatal approximant
Russian phonetics requires that all open vowels follow non-palatalized (hard) consonants, and all closed vowels follow palatalized consonants. Openness is not a distinguishing attribute of a Russian vowel (unlike, say, English and / end). So normally all vowels in the alphabet come in pairs: open and iotized, but an iotized vowel following a hard consonant actually makes it soft and is pronounced closed instead:
a / я о / ё у / ю э / е
и / ы is a notable exception: this is a closed/open pair. In Russian alphabet (unlike, say, Ukrainian), there is no separate letter for iotized
и (because there is no such sound in the language), so it was required to mark the palatalization of the previous consonant.
Ц do not have soft counterparts in Russian, so
цы is only written historically in some Russian words (цыпленок, цыган, цыкать) and in endings (щипцы) but pronounced
цы even for words written with
ци (вакцина, акция).
жы is never written this way (though always pronounced exactly like this).
Ч does not have a hard counterpart, and there are no words with
Щ (in common pronunciation) are hard and soft versions of the same consonant, so they are always written
Deciding phonemes by minimal pairs is quite logical. In English for example, there are no minimal pairs between [h] and [ŋ]. Thus, they are the same phoneme. It makes no difference that any child can tell the difference, and no-one can see any the similarity between the two. Similarly, И and Ы are allophones of the same phoneme, even though all speakers of Russian are consciously aware of producing them separately.