Proveedores de ubicación de Android: ¿GPS o proveedor de red?

En mi aplicación, me gustaría determinar la ubicación actual del usuario. Sin embargo, tengo un par de preguntas a este respecto: Existen diferentes proveedores de ubicación, ¿cuál es el más preciso? ¿El proveedor de GPS o el proveedor de red ? ¿Hasta qué punto difieren esos proveedores...