Lots of different ways of documentation out there. It all depends on what is necessary in your organization. Jamie T did a great blog post on reading the XML to gather some info: http://sqlblog.com/blogs/jamie_thomson/archive/2009/10/18/collecting-information-about-your-ssis-packages-ssis-nugget.aspx
At a minimum I try to generate the dependencies for read / write / execute... in other words, if you need it to run the package, document it. There is a description property on nearly everything in SSIS. I suggest using them all. Also,
annotations are great to give the first impression when opening up any design surface, although to be honest I have kind of gotten away from them in lieu of using the description properties mentioned above.
Hope this helps!