The path in [Embed] metadata is relative to the current file. A starting slash will allow you to start relative to the root of the current source path (in this case, your src directory).
imageLoader.source = "/../assets/images/logo.png";
A starting slash here does not work the same was as [Embed] metadata. I guess it might try using the root of your file system on macOS or Linux, and probably fail completely on Windows.
If you pass a relative path to the source of an ImageLoader, what it's actually relative to probably depends on what type of project you're creating. If it's an AIR project, then it will be relative to File.applicationDirectory. For Flash Player, it's relative to the HTML file where the SWF is embedded (or relative to the SWF, if it's running in the standalone Flash Player).
What when and why do you set something as a Library in IntelliJ IDEA?
If the Starling and Feathers source code were not in the src directory, you could add the directory (or directories, if they aren't in the same one) as a library. Similarly, if you were using SWC files, you might add them (or a parent directory containing multiple SWC files) as a library.
Libraries in IntelliJ IDEA may be used in multiple modules. So if you had more than one module in the same workspace, you could define a library once and use it as a Dependency in both modules.
What when and why do you set something as a Dependency?
Libraries may be added as Dependencies of a module.
Other modules may be added as Dependencies too. Sometimes, people separate some of their application's code out into a separate module that is compiled into a SWC.
A directory on your file system may be added as a Dependency too. If you have only one module in your workspace, you don't necessarily need to create a Library.