Save document action will only save the first DominoDocument datasource on your XPage, but save datasources will save all datasources on the XPage, which may include datasources you do not have access to save.
Unless I specifically want to save all datasources, I tend to use the SSJS script option of e.g. document1.save() . That means even if the Custom Control is added to another XPage where it is not the first datasource, it's still guaranteed to work as I intend.