Iniciar otra actividad no es lo único que puedes hacer. También puedes iniciar una actividad y seguidamente obtener un resultado. Para recibir un resultado, utiliza startActivityForResult() (en lugar de startActivity()).
Por ejemplo, tu app puede iniciar una app para la cámara y recibir una foto capturada como resultado. O, puedes iniciar la app Contactos para seleccionar uno de ellos y recibir los detalles del contacto como resultado.
Por supuesto, la actividad que responda debe diseñarse para devolver un resultado. Cuando es el caso, se manda el resultado como otro objeto Intent. Tu actividad lo recibe mediante onActivityResult().
Nota: Puedes utilizar intenciones explícitas o implícitas cuando uses startActivityForResult(). Cuando inicies una de tus propias actividades para recibir un resultado, deberías utilizar una intención explícita para asegurar que recibas el resultado esperado.