Hi Vladimir,
Apologies for the late reply, I've been very busy the last few weeks with Esri 2015 Dev Summit stuff.
> so if I understand right, Portal cannot be customized (with my themes and widgets), and only apps I will create in developer WebApp builder can be customized with my own widgets. Am I right?
Not quite. You are correct when you say the embedded version of Web AppBuilder (WAB) in Portal for ArcGIS cannot be customized. But apps created from it can be customized - when they are NOT hosted within Portal. So if you use WAB in Portal, you would simply download the code for the web app, host it in your own web server - then you could apply any customizations you want to the app. However, this would be outside the WAB "builder" user experience.
> If I create my own app with my own widgets and theme, I can only register it on Portal, or I can create a template, so other user (if I will share it with in public) can use this template to create their own apps on Portal or AGOL.
You can deploy a web app from WAB (with custom functionality) as a template in AGOL or Portal for ArcGIS - but these templates would need to be hosted on your own web server, following a similar pattern as deploying a custom JavaScript-based template. See this help topic: Add the template to ArcGIS Online
> Will my own widgets available within the template in AGOL or Portal?
Technically, the widgets would "live" inside the custom template that is hosted on your own web server - as part of the web app. The individual widgets would not be accessible in the embedded version of WAB. The template would be accessible to AGOL and Portal for ArcGIS end users, as a template option in the map viewer.
Hope this helps,