This is a very beautiful thing that SharePoint 2010 provides, probably it was there in MOSS 2007 also. This is basically used to conditionally renders the contents of the control to the current user only if the current user has permissions defined in the PermissionString.
By using SPSecurityTrimmedControl you can also hide Site Actions menu, View All Site Content menu from Anonymous Users.
Here you need to put your control indside the <Sharepoint:SPSecurityTrimmedControl> </SharePoint:SPSecurityTrimmedControl>
tag like below
<Sharepoint:SPSecurityTrimmedControl runat="server" PermissionsString="ManageLists">
<PublishingSiteAction:SiteActionMenu runat="server" />
</SharePoint:SPSecurityTrimmedControl>
Here the SiteActionMenu will appear to those users who belongs to ManageLists permissions.
So PermissionsString is very much important here. There are lots of permission available like:
AddAndCustomizePages
AddDelPrivateWebParts
AddListItems
ApplyStyleSheets
ApplyThemeAndBorder
ApproveItems
BrowseDirectories
BrowseUserInfo
CancelCheckout
CreateAlerts
CreateGroups
CreateSSCSite
DeleteListItems
DeleteVersions
EditListItems
EditMyUserInfo
EmptyMask
EnumeratePermissions
FullMask
ManageAlerts
ManageLists
ManagePermissions
ManagePersonalViews
ManageSubwebs
ManageWeb
Open
OpenItems
UpdatePersonalWebParts
UseClientIntegration
UseRemoteAPIs
ViewFormPages
ViewListItems
ViewPages
ViewUsageData
ViewVersions
If you want to give multiple permissions to the PermissionString then you can give comma separated like below:
<SharePoint:SPSecurityTrimmedControl PermissionsString="AddAndCustomizePages, ManageLists" runat="server">
<PublishingSiteAction:SiteActionMenu runat="server" />
</SharePoint:SPSecurityTrimmedControl>