Q:

What is the difficult part of software development?

What is the difficult part of software development that has major impact on final product/output? and How?
What I expect is, in which areas [like technology, requirements..etc] should I concentrate 'more' to develop better applications. 

A:

The difficult part of software development is communication: between you and your team members, business partners, customers, and other stakeholders.  It has the biggest impact on the final output.  These will take the form of written and oral requirements, best practice communication, etc.
If you get this right, and have developers with some talent, the technology part will take care of itself by comparison.

A:

The most difficult part is dealing with human beings. God i hate them!

A:

I'll shamelessly parrot Steve McConnell's line from Code Complete, the overarching difficulty of software development is: Managing Complexity.
Managing delivering features vs. schedule vs. code quality.
Managing making the right features vs. getting features done.
Managing requirements, communicating with customers sufficiently to gain confidence that what you're building is actually what the customer wants.
Managing coordination between teams and components. Managing the integration of a system with many parts, each part built by different hands and dependent on other parts in the system.
Managing team and individual dynamics.
Managing the right amount of oversight, tracking, accountability, planning, and analysis to balance development velocity with development quality and predictability.

