Hi Chip,
Based on my understanding, the Web App Builder "My location" widget is using the "esri/djit/locateButton". You can confirm this by checking your application folder under "arcgis-web-appbuilder-1.2/server/apps/yourAppNumber/widgets/Mylocation/Widget.js" file. You will see in line20 the class esri/djit/locateButton is called.
Essentially, this "My location" widget is using HTML5 Geolocation API, here is the documentation talked about this method "geolocationOptions" LocateButton | API Reference | ArcGIS API for JavaScript
You may wonder why bring all of the things together, The reason is because we want to know the original issue of why "location" result is not accurate. Therefore, technically speaking, if the location is not accurate, the issue is related to HTML5 Geolocation API.
Then you may wonder how does the Geolocation API work?
Depending on which browser you are using, the HTML5 Geolocation API approximates location based on a number of factors including your public IP address, cell tower IDs, GPS information, a list of Wifi access points, signal strengths and MAC IDs (Wifi and/or Bluetooth). It then passes that information to a Location Service usually via an HTTPS request which attempts to correlate your location from a variety of databases that include Wifi access point locations both public and private, as well as Cell Tower and IP address locations. An approximate location is then returned to your code via a JavaScript callback.
For more information about how accurate is HTML5 Geolocation API. Please check this blog: HTML5 Geolocation API – how accurate is it, really? « The Page Not Found Blog
You can test HTML5 Geolocation in different browsers using a test application that the blog author built. I recommend trying it on different browsers and comparing the results yourself: http://andygup.net/samples/html5geo/
Hope this information can help you.