When you use an extension that (for example) has a .js file as an asset, do you need to register that script separately? If so, how is this best done? Should be reside in the extension’s asset directory or should be moved under public>assets?
It should be self contained within the extension’s package and 'publish()'ed on demand. After it has been published it should be registered. Generally speaking, All of this should be handled within the extension and using Yii’s API methods for publishing and registering CSS file.