Po przeanalizowaniu, twojej analizy, wydaje mi się, że to jest jednak, u Ciebie, nadal nie zupełnie jasne 
Poprawione twoje zdanie/myśl:
Gdy piszemy:
int w;
to deklarujemy zmienną typu int o nazwie w, która nie ma nic wspólnego ani z wskaźnikiem ani z tablicą. Jest po prostu [sobie] zwykłą zmienną, która "przechowuje" [zawiera, "pamięta"] dowolną wartość liczbową w zakresie int [-2^31, +2^31-1].
Poprawione twoje zdanie/myśl:
... gdy wskaznik ma przypisany [zawiera/"pamięta"] adres pierwszego elementu tablicy:
int *w, *tablica;
tablica = new int [cos]; //po co tak?*/ a jeżeli już tak, to linię wcześniej *tablica
w = tablica;
to wypisujac *w pobieramy wartosc pierwszego elementu tablicy, a inkrementujac wskaznik ++w, typu int, jego wartość [przechowywany/wskazywany adres] zwieksza sie [dla typu int o 4] czyli *w [pobiera] jest wartością następnego elementu tablicy.
W tym wypadku, tak naprawdę, wskaźnik nie różni się specjalnie od indeksu tablicy, więc jak masz kłopoty ze zrozumieniem działania wskaźników, to może na razie zapomnij o wskaźnikach a używaj po prostu zwykłej tablicy i jej indeksów.
Ewentualnie poczytaj w "dobrej" książce rozdział poświęcony wskaźnikom.
W takim razie, po co są w ogóle wskaźniki, jeżeli są tym samym co indeks tablicy?
1. Czasami wskaźnik/i upraszczają zapis kodu.
2. Gdy tablica jest dwu i więcej wymiarowa i gdy koder wie jak poszczególne elementy takiej tablicy "siedzą/leżą" w pamięci i gdy koder wie co robi ..... to czasami używa wskaźników.
3. Użycie wskaźników czasami skraca znacząco kod i ukrywa/szyfruje jego faktyczne działanie [gdy brak komentarzy] przed okiem laika. [to taki trochę żart] 
4. Koder, który liznął assemblera lub który orientuje się jak "to" działa od środka [procesor, pamięć, język maszynowy/assembler] nie powinien mieć problemu ze zrozumieniem i stosowaniem wskaźników lub z rezygnacji z ich usługi.
5. Gdy koder/programista używa tablic i struktur dynamicznych [alokowanych dynamicznie], wtedy wskaźniki mogą być/[są] niezastąpione.
PS
Uważam jednak, że więcej zyskasz czytając porządny opis tego wszystkiego, niż to co ja napisałem. Jeżeli jednak spodobał Ci się mój opis, domagam się serduszek w dużej ilości
Z góry dzięki
*/ Zmienna tablica jest już wskaźnikiem, więc nie jest potrzebny następny wskaźnik: w
W takim przykładzie możemy zadeklarować tablicę statycznie:
int *w, tablica[coś];