Pokemon go is absolutely based on the location. Players use a spoofing app because if you are stuck in a certain location, the number of pokemon you catch will depend on that. So a spoofing app will spoof, change and fake the location. You must be sure about the application as it can even make you banned.