what makes some particular elements and compounds a good catalyst for a particular reaction?
That is a very difficult question to answer since it is so general. In a very basic sense, and looking at it from a classical collision theory perspective, catalysts allow for efficiency of interaction. If we imagine that a bimolecular reaction occurs when two reactants collide with the proper energies and geometries, and that nothing will happen if these conditions are not met, then we can make an initial guess about catalysts and say that they allow for a greater percentage of successful collisions to occur. Sometimes you can simply say that a catalyst will just "hold" both reactants closer together and in the correct geometries to allow for more successful collisions per unit time.
This is highly over simplified of course, but then again your question is very difficult to answer with much detail because catalysis is a large field in science and spans organic, inorganic and biochemistry easily.
Off top of head I'd say you are likely to meet more catalysed reactions than uncatalysed. So theory of catalysis is not distinct from theory of chemical reactions in general.
One can say catalysts lower the energy of transition states. One gets nice illustrations of this principle with enzymes where molecules (called transition state analogues) that resemble the supposed structure of of the expected transition states are synthesised and found to bind far tighter to the enzyme than do their natural substrates. (Maybe you need to work out the idea).
In the case of acid/base/nucleophilic/electrophilic catalysis the mechanisms and structures of intermediates of many reactions have been established, you could say the mechanism is the explanation. It can usually be understood why the intermediate structures are more reactive than the starting molecule by itself.
In the case of heterogeneous catalysis (platinum, palladium, zeolites, etc.) whatever the surface does to the reactant, which unlike enzymes will often be more than one thing, the more surface the better, so things like porosity and fractality of structure are important.
Separate names with a comma.