How can one find products when one knows the reagents?

I'm going to use an example (I could have used a different one);
On the document it is about the study of the chemical balance of an acid-basic solution.  

The chemists have written the chemical reaction equation to make a table of the evolution of pH during the reaction.  

If I understand with this equation I'll be able to understand others.
$\ce{CH3COOH + H2O ->CH3COO- + H3O+}$


Here is what I already understand:


* This is the equation of methanoic acid with water
* I understood why the general formula of methanoic acid is $\ce{CH3COOH}$


What I want to know is how do we know that 


* $\ce{CH3COOH}$ changes into $\ce{CH3COO-}$ ?
* $\ce{H2O}$ changes into $\ce{H3O+}$?


In general, how does one find the products when one knows the reagents?
Does reagents molecules always correspond the same ions?




If I went into specifics, this answer would span a few thousand books. Instead, I'll give an overview:


There are many ways of determining the products given the reagents:


Actually reacting the reactants
===============================


One can, of course, actually make the reaction take place. Once you've done that, you need to identify the contents of the resulting "soup". A few methods for this (You may have to [separate the products](http://en.wikipedia.org/wiki/Chemical_separation_techniques) first) :


[NMR Spectroscopy](http://en.wikipedia.org/wiki/Nuclear_magnetic_resonance_spectroscopy)
----------------------------------------------------------------------------------------


Here, a nifty technique is used to determine the magnetic properties of a compound. From these properties, one can make reasonable guesses at the substructures existing in a molecule, and check against a list of possible products. This is a very powerful technique, and usually gives good results.


[Qualitative analysis](http://en.wikipedia.org/wiki/Chemical_test)
------------------------------------------------------------------


Here, we use various chemical reagents on the products, and analyse these products, making conclusions about the nature of the original products.


[Microscopy](http://en.wikipedia.org/wiki/Microscopy)
-----------------------------------------------------


Here, using an [STM](http://en.wikipedia.org/wiki/Scanning_tunneling_microscope), one figures out the structure of the molecule. This isn't used that often, but is an interesting technique.


There are [many other such techniques](http://en.wikipedia.org/wiki/Analytical_chemistry), with varying accuracies and applicabilities.


Predicting the products in the absence of experiment
====================================================


A lot of chemical research is into improving its (already vast) predictive power. The end-game of most sciences, after all, *is* to be able to predict stuff. So, in many cases, we can just *predict* how the reaction proceeds, without actually making the reaction occur in a lab.


Figuring out a [reaction mechanism](http://en.wikipedia.org/wiki/Reaction_mechanism)
------------------------------------------------------------------------------------


This generally occurs in organic reactions. Here, you break the reaction into elementary steps. Each step can be explained by looking at electronic attraction/repulsion, as well as the increase in stability (which can generally be estimated by taking into account the [inductive](http://en.wikipedia.org/wiki/Inductive_effect), [mesomeric](http://en.wikipedia.org/wiki/Mesomeric_effect), [hyperconjugation](http://en.wikipedia.org/wiki/Hyperconjugation), and [steric](http://en.wikipedia.org/wiki/Steric_effects) effects, though other things may effect the overall stability as well). From these steps, one gets a proposed mechanism, which may be verified.


Knowing solubilities and other numerical values
-----------------------------------------------


In ionic/inorganic reactions, the path a reaction takes generally hinges on the [solubility](http://en.wikipedia.org/wiki/Solubility) of its final products. This is sometimes the case for other parameters as well. Knowing various numerical values lets one compare two possible reaction paths


[Computational chemistry](http://en.wikipedia.org/wiki/Computational_chemistry)
-------------------------------------------------------------------------------


Here, one uses the equations of quantum mechanics ([Schrodinger's equation](http://en.wikipedia.org/wiki/Schr%C3%B6dinger_equation) and a few of its cronies), and solves them for the given problem using [numerical methods](http://en.wikipedia.org/wiki/Numerical_methods).




---


The particular reaction you have given
======================================


This one can be easily explained by resonance. In $\ce{CH3COOH}$, the $\ce{H}$ is loosely bonded, as the $\ce{C=O}$ bond resonates with the $\ce{C-O}$ bond. This makes it easy for the $\ce{H}$ to float away as $\ce{H+}$, leaving behind a pretty stable $\ce{CH3COO-}$ (made stable by resonance of the negatively charged lone pair over the oxygen atoms).


So far, we know that $$\ce{CH3COOH -> CH3COO- + H+}$$


Now we know that it is behaving like an acid. It is extremely well known that water forms a [Hydronium](http://en.wikipedia.org/wiki/Hydronium) ($\ce{H3O+}$) ion by self-dissociation, and this is accelerated by making the medium acidic (All free $\ce{H+}$s find the nearest $\ce{H2O}$ molecule and form $\ce{H3O+}$). $\ce{H3O+}$ is stable due to resonance, again.


So we now know that $$\ce{H+ + H2O -> H3O+}$$


Put the two reactions together and you get $$\ce{CH3COOH + H2O -> H3O+ + CH3COO-}$$


Though, in this case, the historical method of finding out the reaction may have been different -- acetic acid has been well known and studied for a very long time.


 4