Question: In AEM speak - what is the exact conceptual difference between between currentstyle and currentdesign objects available after including the tag in template / component?

Answer: 
Just to add some clarify to what's already here:

Global content (that is, component values that are common across multiple instances of the same template) are stored as "styles" and edited via a "design dialog".

They are stored as follows:

```
/etc/designs/<design>/jcr:content/<template>/<component>

```

So, for the component `logo` in the template `homepage`, using the `default` design:

* `currentStyle` is `/etc/designs/default/jcr:content/homepage/logo`
* `currentDesign` is `/etc/designs/default`
`currentStyle` is of type `com.day.cq.wcm.api.designer.Style`(1) whereas `currentDesign` is an instance of `com.day.cq.wcm.api.designer.Design` (2).

The Design object contains information about the design that is used with the current object, it is most of the time set in the `cq:designPath` property of the page's template.

If you have the `Design` object, you can get `Style` objects for each included `Cell`(3) from it. On the other hand you can get the surrounding `Design`, if you have the `Style`.

So the `Design` is something like a container object for the `Style`s used in the included `Cell`s.

In this path

```
/etc/designs/geometrixx/jcr:content/page/image

```

`image` is a `Cell`, the design path is `/etc/designs/geometrixx` and the `Style` object attached to the `Cell` object has two properties: `maxHeight` and `maxWidth`.

[![see screenshot](https://i.stack.imgur.com/E95wc.png)](https://i.stack.imgur.com/E95wc.png)

(1): <https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/index.html?com/day/cq/wcm/api/designer/Design.html>

(2): <https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/index.html?com/day/cq/wcm/api/designer/Style.html>

(3): <https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/index.html?com/day/cq/wcm/api/designer/Cell.html>