Better minds have written better texts on this form of architecture. This text is my own, a translation of a Good Idea for me.
A hexagon is not a universal solution to every problem. It is just another design pattern at the end of the day; albeit with some power behind it.
When a sub-set of a project is chunked into a hexagon we are bounding the scope explicitly. By setting the domain (perhaps as a subset of the total database) we determine the amount of the overall model the programmer must load into her head when operating within that space.
This is perhaps the fundamental purpose of a hexagon. It breaks large intractable problems down into smaller tractable ones and pretty rigidly prevents spillover between those bits.
When choosing this tool, I must keep in mind this scope aspect above all else. What is the right scope for a hexagon?
Choosing hexagon scope is to set the engagement. The engagement, then, is creating a hexagon that functions. So all the choices within the hexagon are tactical in nature.
However, it does not stop there. The real value of this architecture is that it makes it very easy to airgap design (when writing the domain, blogic, and interfaces) from implementation (when actually writing the adapters). The human mind shifts gears between structuring code and debugging.
So designing within the hexagon is tactical. Actually banging out adapters is implementation (or maybe operations?).