This is more a generic OpenStack question. But the way I look at it, OpenStack is the "fabric" that can be used to create a large, distributed IaaS cloud such as Amazon EC2. People are also using it to create on-premise, private clouds. CoreOS on the other side is very much focused on Linux containers (Docker).