What you need to remember is that the dot is not just a syntax for accessing the iVar but a shorthand for invoking a method for setting (or getting) the ivar.
This means the self.foo is not the same as just foo (assuming foo is an ivar declared as a property). self.foo=value; is equivalent to [self setFoo:value]; or value=self.foo is equivalent to value=[self foo]; When you just write foo then you're accessing foo directly without any method invocation.
The distinction is important because the setter and getter method usually don't just assign or get the value but rather retain the value.
So, in your case when you write:
self.flipsidenavigationbar=aNavigationBar;
You're actually invoking the setter method for this ivar so this line is equivalent to:
[self setFlipSideNavigationBar:aNavigationBar];
Assuming that the property is defined as copy or retained then calling the setter will retain aNavigationBar. On the other hand, if you write:
self.flipsidenavigationbar=aNavigationBar;
Then you're just setting the value of self.flipsidenavigationbar directly and aNavigationBar is not retained which can cause the application to crash when you access aNavigationBar later
Regarding the other question:
[flipsidenavigationbar foo];
Is just a method invocation, you don't have to use the dot (although you may want to sometimes) because you can refer to ivars directly in instance methods.
(BTW: why not use camel case? this really hurts the eyes)