Anytime iForm tries to capture location data we will check to see if the location has changed based either on WiFi triangulation or GPS readings using the CoreLocation library built into iOS.
If the device location hasn't changed then we will use the last known location to populate the record. If connectivity is lost and you move to another location the created record will have the location of the last known location of the device. iPads with GPS antennae (3G models) do not require a data connection as GPS works independently of 3G services. You will not have the benefit of assisted GPS without a data plan. This means that GPS location data can be acquired in areas where there is no 3G signal.
GPS accuracy depends on many factors. The accuracy of the location information is captured along with many other pieces of data. You can see all of the information captured in the wiki post below.
We capture this information for each new record (parent and subform records). The information is captured when the record is first saved. So if you go all the way through a record and never save before you press "Done" then it will capture the information then. If you open the record and press save right after you create it, that is when location information is captured. Additionally if you enter a subform from the parent form this creates a "save" scenario and the information will then be captured (CREATED_LOCATION).
If your location data is currently not as accurate as you would like take a look at what some of our customers are doing to improve their accuracy :)