la respuesta a tu pregunta, esta en la base de lo que se denomina 'servicios', los servicios en Android al igual que otros sistema operativo se arrancan al iniciar el sistema o al iniciar la aplicación, el problema del segundo es que muchas veces termina cuando termina la aplicación, el primero si es más permanente, un servicio abre una aplicación y hace cosas, llama funciones, por ejemplo puedes hacer un servicio que registre cambios de posición y envié datos por red, u otro que registre mensajes entrantes, y haga copias , que guarde registro de llamadas periódicamente.