Q: What is the difference between Biot-Savart law and Ampere's law? What is the difference between these laws?
Which law is more useful?
When to use Ampere's law and when to use Biot-Savart law?

A: In the context of introductory Electromagnetic theory, you can use Ampere's law when the symmetry of the problem permits i.e. when the magnetic field around an 'Amperian loop' is constant. eg: to find the magnetic field from infinite straight current carrying wire at some radial distance.
Biot-Savart law is the more brute force approach, you evaluate this integral when there is not enough symmetry to use Ampere's law. eg: to evaluate the magnetic field at some point along the axis of a current loop.
HyperPhysics has some great examples: Amperes law, Biot-Savart law.

A: 
What is the difference between these laws?

One interesting difference is that the Biot-Savart law is more general than the Ampère law.
The Ampère law
$$
\oint_\gamma \mathbf B\cdot d\mathbf s = \mu_0 I
$$
is valid only when the flux of electric field through the loop $\gamma$ is constant in time; otherwise its rate of change (the displacement current) has to be added to the normal current on the right-hand side. (Maxwell realized this).
However, the Biot-Savart law 
$$
\mathbf B (\mathbf x)= \int \frac{\mu_0}{4\pi} \frac{\mathbf j \times (\mathbf x - \mathbf r)}{|\mathbf x - \mathbf r|^3}\,d^3\mathbf r
$$
although originally formulated for static situations as well, is more general, for it is valid even if the electric flux changes in time, provided the electric field is given by gradient of potential. This happens for example when capacitor connected to battery with negligible self-inductance gets charged. A magnetic field around the capacitor does not obey Ampère law, but it is given by the above Biot-Savart formula.

A: If we draw analogy biot-savart law is the columb's law and amperes law is gausses' law (but it is not exactly the gausses' law for magnetism) then, it becomes clear when to use ampere's law and when biot-savart law.
