Hi,
If you use the uln2003 as the driver then the Pic has to create and control all the pulses, whereas the L297 does that for you.
As Ckshivaram says the size of the motor affects what output chip you have to use.
The Unl2003 is capable of 500ma per output pin.
The L297 is designed to be used with the L298 driver chip which can take about 2amps - see the L297 datasheet.
So you have several options depending on the size of your motor
Pic - uln2003
Pic - L298
Pic - L297 - L298
There are many other driver chips around.