If you look at basic definition of "voltage" and "current", you will understand that
voltage:- Is the difference in electric potential energy between two points per unit electric charge.
current:- Rate of flow of charge (electrons)
So Voltage can be there without the current being there, thats the reason that we always give values to power source by rating the voltage.
So when you say that battery is voltage source, its correct but the same battery is current source. But the current will never flow until the circuit is complete, and also the current will vary depending upon the load.
for eg:- with load of 1kohm, 9V battery will be producing 9mA,
but with load of 10kohm it will produce current of 0.9mA.
The voltage mostly remains constant and current varies depending on load, hence we usually say its a voltage source (saves hell of complexity), but when we are talking about source which is designed to give constant current we will call it as current source.
So basically when you buy a battery you buy a source of energy, which has the potential(voltage) to make the electrons flow(current) in the circuitry.
So a current source example would be V-I converter, which will make sure that constant current is provided at output even if the load varies.
PS:- I believe your question was more about understanding the concept than technical. Hope i was able to give you some perspective.