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. 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. Dashcode will allow you to develop HTML5/CSS/JS applications which can be deployed as widgets under the OSX dashboard or to develop browser client based applications that can be run on Safari/Mobile-Safari and other compliant HTML5/CSS browsers (chrome, firefox)