You are finished when you have achieved what you wanted. If you don't know what you wanted, then you're in trouble. It
is a bad idea to start out on anything without a clear idea of
exactly what you are trying to accomplish. Of course there is such a thing as experimenting, but in that
case the goal is not a finished work, but learning something,
and in that case you are finished when you have learned what you
wanted to learn. When you ask yourself if the work is finished, look back to your
original idea. Then add anything missing or remove anything superflous,
and that's it. Then there is also the issue of of the intended audience getting
what you want them to get. On this one nothing replaces some hard-earned
experience. Get it out there and hear what people say. But have
patience, often the best ideas are only picked up fast by minorities.
That is why "layers" is a good idea.
How to know when you are finished