De manière générale, les propriétés permettent de mieux gérer l'accessibilité de ta donnée.
Tu veux par exemple exposer une variable sans pour autant permettre à une ressource extérieure de modifier cette variable.
C'est faisable en disant explicitement que le Set est privé :
Private foo As Integer
Public Property Foo() As Integer
Get
Return foo
End Get
Private Set(ByVal value As Integer)
foo = value
End Set
End Property
Ainsi, foo est accessible en lecture, mais pas en écriture.