How to exclude entries by type?
.type("not landing") won't work. If you reread the post you linked it also states this — I believe it was more of a feature request. You will need to test each entry and either use it directly or merge it into an array for later use.

{% set entries = craft.entries.section("pages") %}
{% for entry in entries if entry.type != "landing" %}
    {{ entry.title }}
{% endfor %}


or 

{% set filteredEntries = [] %}
{% set entries = craft.entries.section("pages") %}
{% for entry in entries if entry.type != "landing" %}
    {% set filteredEntries = filteredEntries|merge(entry) %}
{% endfor %}


As a side note, if you are using a structure with a hierarchy where landing pages are at the root level and all other entries are children, then you can also use:

{% set entries = craft.entries.section("pages").level('&gt; 1') %}