Properties and Functions are a part of OOP. The advantages are far too numerous to put down - but in a nutshell it allows other coders (ie mod/hack writers) to not worry about how a particular function works, or where it is located - they just call a particular function and get what they need.
Say for instance there was a mammouth object called vB and you wanted to get a particular users name, you could do something like vb.users(51).username;
(yes, that isnt php... more like vB... but easier to read IMO

).
Anyhoo... you wouldnt have to worry about a particular query, where the table is, worry about table prefixes, etc... More importantly, you wouldnt have to worry about future changes affecting how you usually get a username as it would all be black boxed.
Thats my 3.8 cents (?.02 at current exchange rate).