I just had a question migrated from DIY to gardening, and now I can no longer edit my question unless I create an account with the gardening exchange despite me adding it to "my communities" under the stackexchange drop-down. Why can't we just have one StackExchange login to rule them all?
You have separate accounts because you expertise is different in different areas.
Your 1.5k rep on DIY is not relevant when it comes to other topics like Chemistry or Photography (for example). With > 200 rep on one site you do get the 100 point account association bonus that lets you upvote, flag and comment on a new site as you've demonstrated that you know how to do these actions. Every other privilege you need to earn by demonstrating domain knowledge.
If you use the same OpenID to sign into Gardening as you used here then the accounts should be automatically associated and you will be able to edit your question.
This is simply bad planning/coding by SE developers. You shouldn't have to sign up for each site. There seems to be a contingent at SE that thinks (at least from a meta by an employee on another site) that people don't want to be automatically signed up for a site upon first touch... whatever.
Like I care if I belong to 5, 10, 50, or 500 SE sites. This is simply a bad user experience and stemmed from initial problems that have had with open IDs - a few years ago. I understand their initial issue because the open ID environment was once horrible, but I don't understand what the issue is now. Get user ID from the POST data, cross-reference the salts from various sites, and autologin user cross-checked on POST data and hash... This isn't rocket science.