I am new in iOS development and I am totally confused about Dashcode.
1) Makes widgets, like the ones in Dashboard.
2) Dashcode makes widgets (like show up in Dashboard on the Mac). It's small and uses JavaScript and other web technologies for source code. Xcode makes compiled app binaries for iOS and mac from Objective-C and Cocoa source code.
3) It's not really a choice. If you want to make an app for iOS or Mac you will use Xcode, if you want to make a dashboard widget then you will use Dashcode.
4) Dashcode works with web technologies. I do not have a lot of experience with Dashcode (tried it, not my thing), but it's purpose is to write apps that graph data from servers so I can't imagine it wouldn't support such mainstream web technologies.