Unity3D consists of a game engine plus a (fairly rudimentary) 3D editor. It provides meshes, textures, shaders, terrain, cameras, animations, particle systems, audio samples, and other kinds of object that are useful in video games. It includes PHYSX (a proprietary physics engine owned by Nvidia), and Mono (the open source implementation of the Common Language Runtime, aka .NET).
How much of this you use is up to you. You can represent all your data structures as Unity objects, build your world in Unity's editor, turn on the physics, and let events take their course, with a minimum of scripting. Alternatively, you could turn off the physics engine, construct your world algorithmically, and explicitly program all the behaviour and physics of the objects.
The workflow is much the same as with any game engine. Artists make models and textures and animations, audio specialists make the sounds, programmers write shaders and behaviour.
The community of Unity programmers is very helpful, both at answers.unity3d.com and forum.unity3d.com. (And maybe here at Stack Exchange?)
The best way to find out is to try it out: the basic version is free, and you get a 30-day trial period for the "Pro" version.