Modeling curvy things with blender
The main way of modeling curved things is to use Subdivision Surface modeling.  The idea of subsurf modeling is to model the basic blocky shape, then apply a Subdivision Surface modifier to the mesh.  Subsurf works by recursively subdividing and smoothing the mesh.  To make sharper corners you can add proximity cuts.  Proximity cuts are loop cuts (Ctrl+R) which are made close to corners in the mesh to tighten up the smoothing at that corner.



Here is a very simple example of a game controller like object which I have modeled.  You can see the base mesh is the black wireframe cage and the grey solid mesh is after subsurf.  Proximity cuts are highlighted in orange.