return all instances, online and offline

Yes. If an instance is displayed in the aws console as terminated, it will end up in this list with status "terminated". It goes from "running" to "shutting-down" to "terminated".

When an instance is started it goes from "pending" to "running"

When an instance is stopped it goes from "running" to "stopping" to "stopped"