(Image from freeandroidapps.net)
Search for the App you are downloading in Google Play. This will tell you that the app you are downloading is supported by your device or not. After all, you don't want to waste those few MBs on an app which is not gonna run on your device.
There are many things that Google can do, one of them is getting you any content for free. You have to simply search for the app in Google search followed by .apk . For e.g. If you want to download an app named XYZ, type XYZ.apk in Google search. Now, from the search results just head over to any one site which you like and you will find the installation file for that app. Just copy it in your Device's SD card and install it. It's that simple.
Via Sharing sites:
There are many users who actually buy apps and post their backup files on the file sharing/storing sites like 4shared.com, Mediafire.com etc. The thing is to again search for the name of the app followed by the extension .apk. This will give you several results for downloading and installing on your Android device.
Third Party Apps:
There are many third party apps which allows you to get this work done. The two very best of them is BlackMart Alpha and Pandaapp. There's no need to root your phone or anything like that. These apps will serve you with paid apps for free. These apps can also be referred as alternatives to Google Play Store.
Cancelling the Payment:
In this method you first need to pay for the app you download. There's a 15 minutes trial period for every paid app you download from Google Play Store. When the app is fully downloaded and installed, simply backup that app via file managers like ES Explorer or by apps like App Backup & Restore. And then cancel that payment. Now, the paid app that you downloaded would have been uninstalled. Then restore the backup of the file you created.
These were the methods that will get you free apps for your android device. If you know any other methods then do let us all know by commenting. And don't forget to share this post.