Does a particle annihilate only with its antiparticle? If yes, why? Or to put the question another way - what is the result of a proton-positron collision, or an up quark-charm antiquark collision, etc.? As far as I know, annihilation happens only between particles of opposite charge and same mass, but perhaps I am wrong?
And if the types of annihilation mentioned above cannot happen, what are the reasons?
 A: All the answers given are great answers once one has acquired some modern physics background and mathematics. For an aspiring young physicist they  might be a big mouthful. So once more I will offer the simpler "everyday" interpretation.
When particles interact we talk of it as scattering of one particle with the other and have built machines that do that. Scatterings are described well with the theories developed, as in the answer by Marek, and if one means by "annihilation" that a particle disappears and becomes another particle, that is the way it can happen.
"Real" annihilation happens, is measured,  experimentally when all the quantum numbers describing the two incoming interacting particles become 0 in the interaction region and the output is photons, as in the case of electron positron annihilation at low energy, and/or a bunch of particle whose quantum numbers sum up to 0 at energies that allow their creation. 
So when the two incoming particles have equal and opposite quantum numbers that describe them in the Standard Model,  experimentalists call the interaction  annihilation if it is not an elastic scattering. Elastic scattering retains the quantum numbers of the two incoming particles, either wholly or partially. It can happen that an antiproton becomes  an antineutron, retaining baryon number, for example. The processes can only be disentangled studying further with diagrams of the type shown by Marek.
A: It depends on your definition of annihilation. But microscopically all processes are described by Feynman diagrams such as these

of which last one describes electron positron annihilation (if it weren't for the typo in the out-going photon). But as you can see it's all a simple matter of how you turn your head around and the very same diagram represents emission (or absorption) of photon by electron (or positron). Does electron annihilate with photon and create a brand new electron? You can certainly interpret it that way. In other words, it's just a question of terminology and interpretation. Actual physics doesn't depend on how you call the process. It is encoded in the underlying math of quantum field theory (QFT).
In any case, the punchline is that annihilation (in the strict sense of particle-antiparticle inelastic collision) doesn't have a special place in one's vocabulary once they learn their QFT and particle physics. It's just one particular kind of interaction. So you might as well ask which arbitrary interactions are allowed. And answer to that is: there's quite a lot of them and they are described by Standard Model. But the basic picture is that particles can be charged under certain charges: either the familiar electromagnetic, or less familiar weak and strong charges. Or in more modern language whether some families of particles form a multiplet under some gauge group. For weak force with group SU(2) you get lepton (e.g. electron-neutrino) and quark (e.g. up-down) doublets. For strong force with group SU(3) you need triplets and these are precisely the red green blue colors of quarks that you probably heard about.
In any case, for every multiplet there is a diagram like the ones above where you have two charged particles and one mediating particle between them (photon, weak bosons or gluons). Besides this you can also get funnier diagrams with e.g. three or four gluon lines. But that's it, these are all of allowed interactions of Standard Model.
A: “In the fall of 1940, Feynman received a tele­phone call from John Wheeler [Feynman’s thesis advisor] at the Grad­uate Col­lege in Princeton, in which he [Wheeler] said that he knew why all elec­trons have the same charge and the same mass. ‘Why?’ asked Feynman, and Wheeler replied, ‘Because they are all one and the same elec­tron.’” — Jagdish Mehra
What Wheeler meant was that the annihilation of an electron and a positron can be described by saying that the electron gets scattered backward in time. An electron going pastward looks like a positron going futureward.
An  anal retentive comment on Marek's statement that "microscopically all processes are described by Feynman diagrams such as these..." Make this: the amplitude associated with a scattering event (with given numbers and species of incoming and outgoing particles) can be calculated by summing over an infinite series of complex numbers, each represented by a Feynman diagram.
