Scripting (or creating scripts) is writing your own additions to the Unity Editor’s functionality in code, using the Unity Scripting API.
When you create a script and attach it to a GameObject, the script appears in the GameObject’s Inspector just like a built-in component. This is because scripts become components when you save them in your project.
In technical terms, any script you make compiles as a type of component, so the Unity Editor treats your script like a built-in component. You define the members of the scipt to be exposed in the Inspector, and the Editor executes whatever functionality you’ve written.
Read more about creating and using scripts the Scripting section of this User Manual.
Is something described here not working as you expect it to? It might be a Known Issue. Please check with the Issue Tracker at issuetracker.unity3d.com.